import { VNode, Component } from 'vue';

export type WetMenusItemConfig = {
    path: string;
    name: string;
    icon?: (string | VNode | Component) | (string | VNode | Component)[];
    onClick?: () => void;
    routes?: WetMenusItemConfig[];
};
export type WetMenusType = WetMenusItemConfig[];
export type WetProLayoutAcions = {
    action: () => void;
    label: string;
    icon?: string | Component | VNode;
};
export type WetProLayoutHdMenus = {
    menus?: WetMenusType;
    iconSize?: number;
    fixed?: boolean;
    active?: string;
};
export type WetProLayoutAsideMenus = WetProLayoutHdMenus & {
    maxWidth?: number;
    minWidth?: number;
    isCollapse?: boolean;
};
export declare const proLayoutProps: {
    title: StringConstructor;
    backtop: BooleanConstructor;
    headerMenus: {
        readonly type: import('vue').PropType<WetProLayoutHdMenus>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    headerClass: StringConstructor;
    asideMenus: {
        readonly type: import('vue').PropType<WetProLayoutAsideMenus>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    asideClass: StringConstructor;
    avatar: {
        readonly type: import('vue').PropType<Partial<{
            readonly size: import('element-plus/es/utils').EpPropMergeType<readonly [NumberConstructor, StringConstructor], "" | "default" | "small" | "large", number>;
            readonly fit: any;
            readonly src: string;
            readonly shape: import('element-plus/es/utils').EpPropMergeType<StringConstructor, "circle" | "square", unknown>;
        } & {
            readonly icon?: unknown;
            readonly alt?: string;
            readonly srcSet?: string;
        } & {
            nickname?: string;
        }>>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    avatarActions: {
        readonly type: import('vue').PropType<WetProLayoutAcions[]>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
};
