import type { ComputedRef, PropType, ExtractPropTypes } from 'vue';
import type { MenuMode, MenuTheme } from 'ant-design-vue';
import type { RouteRecordRaw, RouteLocationNormalizedLoaded, LocationQuery } from 'vue-router';
export type MenuTreeNode = Partial<RouteRecordRaw> & {
    hidden?: boolean;
    children?: null | MenuTreeNode[];
};
export declare const menuProps: {
    readonly menus: {
        readonly type: PropType<MenuTreeNode[]>;
        readonly default: () => never[];
    };
    readonly _route: {
        readonly type: PropType<RouteLocationNormalizedLoaded>;
        readonly default: () => {
            path: string;
            matched: never[];
        };
        readonly required: true;
    };
    readonly _query: {
        readonly type: PropType<LocationQuery>;
        readonly default: () => {};
    };
    readonly theme: {
        readonly type: PropType<MenuTheme>;
        readonly default: "light";
    };
    readonly mode: {
        readonly type: PropType<MenuMode>;
        readonly default: "inline";
    };
    readonly inlineCollapsed: {
        readonly type: PropType<boolean>;
        readonly default: false;
    };
    readonly 'onUpdate:inlineCollapsed': {
        type: PropType<((flag: boolean) => void) | ((flag: boolean) => void)[]>;
        default: unknown;
    };
};
export type MenuProps = ExtractPropTypes<typeof menuProps>;
export interface UseMenuReturnType {
    classes: ComputedRef<{
        [key: string]: string | boolean;
    }>;
}
