import { ExtractPropTypes, PropType, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { MouseEventHandler } from '../../_util/EventInterface';
import { CustomSlotsType } from '../../_util/type';
import { ItemType } from './interface';
import { VueTypeValidableDef } from 'vue-types';
export declare const menuItemProps: () => {
    id: StringConstructor;
    role: StringConstructor;
    disabled: BooleanConstructor;
    danger: BooleanConstructor;
    title: {
        type: (BooleanConstructor | StringConstructor)[];
        default: undefined;
    };
    icon: VueTypeValidableDef<any>;
    onMouseenter: PropType<MouseEventHandler>;
    onMouseleave: PropType<MouseEventHandler>;
    onClick: PropType<MouseEventHandler>;
    onKeydown: PropType<MouseEventHandler>;
    onFocus: PropType<MouseEventHandler>;
    originItemValue: {
        type: PropType<ItemType>;
        default: ItemType;
    };
};
export type MenuItemProps = Partial<ExtractPropTypes<ReturnType<typeof menuItemProps>>>;
declare const _default: DefineComponent<ExtractPropTypes<{
    id: StringConstructor;
    role: StringConstructor;
    disabled: BooleanConstructor;
    danger: BooleanConstructor;
    title: {
        type: (BooleanConstructor | StringConstructor)[];
        default: undefined;
    };
    icon: VueTypeValidableDef<any>;
    onMouseenter: PropType<MouseEventHandler>;
    onMouseleave: PropType<MouseEventHandler>;
    onClick: PropType<MouseEventHandler>;
    onKeydown: PropType<MouseEventHandler>;
    onFocus: PropType<MouseEventHandler>;
    originItemValue: {
        type: PropType<ItemType>;
        default: ItemType;
    };
}>, () => import("vue/jsx-runtime").JSX.Element | null, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<{
    id: StringConstructor;
    role: StringConstructor;
    disabled: BooleanConstructor;
    danger: BooleanConstructor;
    title: {
        type: (BooleanConstructor | StringConstructor)[];
        default: undefined;
    };
    icon: VueTypeValidableDef<any>;
    onMouseenter: PropType<MouseEventHandler>;
    onMouseleave: PropType<MouseEventHandler>;
    onClick: PropType<MouseEventHandler>;
    onKeydown: PropType<MouseEventHandler>;
    onFocus: PropType<MouseEventHandler>;
    originItemValue: {
        type: PropType<ItemType>;
        default: ItemType;
    };
}>> & Readonly<{}>, {
    title: string | boolean;
    disabled: boolean;
    danger: boolean;
    originItemValue: ItemType;
}, CustomSlotsType<{
    icon?: any;
    title?: any;
    default?: any;
}>, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export default _default;
