amis-rpc-design/node_modules/antd/es/menu/MenuItem.d.ts

16 lines
758 B
TypeScript
Raw Normal View History

2023-10-07 19:42:30 +08:00
import type { MenuItemProps as RcMenuItemProps } from 'rc-menu';
import * as React from 'react';
export interface MenuItemProps extends Omit<RcMenuItemProps, 'title'> {
icon?: React.ReactNode;
danger?: boolean;
title?: React.ReactNode;
}
type MenuItemComponent = React.FC<MenuItemProps>;
type RestArgs<T> = T extends (arg: any, ...args: infer P) => any ? P : never;
type GenericProps<T = unknown> = T extends infer U extends MenuItemProps ? unknown extends U ? MenuItemProps : U : MenuItemProps;
type GenericComponent = Omit<MenuItemComponent, ''> & {
<T extends MenuItemProps>(props: GenericProps<T>, ...args: RestArgs<MenuItemComponent>): ReturnType<MenuItemComponent>;
};
declare const MenuItem: GenericComponent;
export default MenuItem;