import type { DefineComponent, PropType, ComputedRef, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes } from 'vue';
import type { Menu, SelectedMemu, RouterPropsType, ExtendMenu } from '../types';
declare const _sfc_main: DefineComponent<{
    defineMode: {
        type: StringConstructor;
        default: string;
    };
    menus: {
        type: {
            (arrayLength: number): Menu[];
            (...items: Menu[]): Menu[];
            new (arrayLength: number): Menu[];
            new (...items: Menu[]): Menu[];
            isArray(arg: any): arg is any[];
            readonly prototype: any[];
            from<T>(arrayLike: ArrayLike<T>): T[];
            from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
            from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
            from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
            of<T_4>(...items: T_4[]): T_4[];
            readonly [Symbol.species]: ArrayConstructor;
        };
        default: () => never[];
    };
    theme: {
        type: StringConstructor;
    };
    mode: {
        type: StringConstructor;
        default: string;
    };
    searchOpenKeys: {
        type: {
            (arrayLength: number): string[];
            (...items: string[]): string[];
            new (arrayLength: number): string[];
            new (...items: string[]): string[];
            isArray(arg: any): arg is any[];
            readonly prototype: any[];
            from<T>(arrayLike: ArrayLike<T>): T[];
            from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
            from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
            from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
            of<T_4>(...items: T_4[]): T_4[];
            readonly [Symbol.species]: ArrayConstructor;
        };
        default: () => never[];
    };
}, {
    props: any;
    emit: (event: "menuSelect", ...args: any[]) => void;
    router: {
        push: (obj: RouterPropsType) => void;
    };
    state: SelectedMemu;
    secondMenuRouter: (item: ExtendMenu) => void;
    menuSelect: (obj: any) => void;
    readonly QIcon: DefineComponent<{
        type: {
            type: PropType<string>;
            default: string;
        };
        size: {
            type: (StringConstructor | NumberConstructor)[];
        };
        color: {
            type: StringConstructor;
        };
    }, {
        fontSize: ComputedRef<{
            fontSize: string;
        }>;
        iconType: ComputedRef<string>;
        iconColor: ComputedRef<{
            color: string;
        }>;
    }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
        type: {
            type: PropType<string>;
            default: string;
        };
        size: {
            type: (StringConstructor | NumberConstructor)[];
        };
        color: {
            type: StringConstructor;
        };
    }>>, {
        type: string;
    }, {}>;
    QDeepCycleSubMenu: DefineComponent<{
        menuInfo: {
            type: ObjectConstructor;
            default: () => {};
        };
    }, {
        deepCycleMenuRouter: (item: ExtendMenu) => void;
    }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
        menuInfo: {
            type: ObjectConstructor;
            default: () => {};
        };
    }>>, {
        menuInfo: Record<string, any>;
    }, {}>;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, "menuSelect"[], "menuSelect", VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
    defineMode: {
        type: StringConstructor;
        default: string;
    };
    menus: {
        type: {
            (arrayLength: number): Menu[];
            (...items: Menu[]): Menu[];
            new (arrayLength: number): Menu[];
            new (...items: Menu[]): Menu[];
            isArray(arg: any): arg is any[];
            readonly prototype: any[];
            from<T>(arrayLike: ArrayLike<T>): T[];
            from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
            from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
            from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
            of<T_4>(...items: T_4[]): T_4[];
            readonly [Symbol.species]: ArrayConstructor;
        };
        default: () => never[];
    };
    theme: {
        type: StringConstructor;
    };
    mode: {
        type: StringConstructor;
        default: string;
    };
    searchOpenKeys: {
        type: {
            (arrayLength: number): string[];
            (...items: string[]): string[];
            new (arrayLength: number): string[];
            new (...items: string[]): string[];
            isArray(arg: any): arg is any[];
            readonly prototype: any[];
            from<T>(arrayLike: ArrayLike<T>): T[];
            from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
            from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
            from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
            of<T_4>(...items: T_4[]): T_4[];
            readonly [Symbol.species]: ArrayConstructor;
        };
        default: () => never[];
    };
}>> & {
    onMenuSelect?: ((...args: any[]) => any) | undefined;
}, {
    mode: string;
    menus: Menu[];
    defineMode: string;
    searchOpenKeys: string[];
}, {}>;
export default _sfc_main;
