import { SyntheticEvent } from 'react';
import { IPropertyComponent } from 'src/0components/2formItem/abasecomp';
import IBasePro from '../0form/abase';
export interface IMenuItem {
    /** 是否靠左显示 */
    pullLeft?: boolean;
    /** 菜单项文本 - rsuite Dropdown.Item */
    label?: string;
    /** 是否处于激活状态 - rsuite Dropdown.Item.active */
    active?: boolean;
    /** 自定义元素类型 - rsuite Dropdown.Item.componentClass */
    componentClass?: React.ElementType;
    /** 是否禁用 - rsuite Dropdown.Item.disabled */
    disabled?: boolean;
    /** 是否为分隔线 - rsuite Dropdown.Item.divider */
    divider?: boolean;
    /** 事件键值 - rsuite Dropdown.Item.eventKey */
    eventKey?: any;
    /** 图标组件 - rsuite Dropdown.Item.icon */
    icon?: React.Component<any>;
    /** 选择事件 - rsuite Dropdown.Item.onSelect */
    onSelect?: (eventKey: any, event: SyntheticEvent<any>) => void;
    /** 是否为面板 - rsuite Dropdown.Item.panel */
    panel?: boolean;
    /** 自定义渲染菜单项 - rsuite Dropdown.Item.renderItem */
    renderItem?: (item: React.ReactNode) => React.ReactNode;
    /** 点击事件回调 */
    click?: (eventKey?: any, event?: SyntheticEvent<any>) => void;
    /** 子菜单项 */
    children?: IMenuItem[];
    /** 外观样式 */
    appearance?: string;
    /** 尺寸 - rsuite Dropdown.Item.size */
    size?: string;
}
export default interface IMenuPro extends IBasePro {
    /** 菜单数据列表 */
    menus: IMenuItem[];
    /** 当前激活的菜单键 - rsuite Dropdown.activeKey */
    activeKey?: any;
    /** 菜单图标 - rsuite Dropdown.icon */
    icon?: React.Component<any>;
    /** 菜单样式 - rsuite Dropdown.menuStyle */
    menuStyle?: React.CSSProperties;
    /** 关闭事件 - rsuite Dropdown.onClose */
    onClose?: () => void;
    /** 打开事件 - rsuite Dropdown.onOpen */
    onOpen?: () => void;
    /** 选择事件 - rsuite Dropdown.onSelect */
    onSelect?: (eventKey: any, event: SyntheticEvent<any>) => void;
    /** 切换展开事件 - rsuite Dropdown.onToggle */
    onToggle?: (open?: boolean) => void;
    /** 是否展开(受控) - rsuite Dropdown.open */
    open?: boolean;
    /** 弹出位置 - rsuite Dropdown.placement */
    placement?: string;
    /** 自定义渲染标题 - rsuite Dropdown.renderTitle */
    renderTitle?: (children?: React.ReactNode) => React.ReactNode;
    /** 触发器标签文本 - rsuite Dropdown.toggle */
    label?: React.ReactNode;
    /** 触发器样式类名 - rsuite Dropdown.toggleClassName */
    toggleClassName?: string;
    /** 触发器自定义元素类型 - rsuite Dropdown.toggleComponentClass */
    toggleComponentClass?: React.ElementType;
    /** 触发方式 - rsuite Dropdown.trigger: 'click' | 'hover' | 'contextMenu' | Array */
    trigger?: string;
    /** 菜单项组件类型 - rsuite Dropdown.Item */
    ItemComp?: IPropertyComponent;
    /** 菜单组件类型 - rsuite Dropdown.Menu */
    MenuComp?: IPropertyComponent;
    /** 外观样式 - rsuite Dropdown.appearance */
    appearance?: string;
    /** 尺寸 - rsuite Dropdown.size */
    size?: string;
}
