import type { DefineComponent, RendererNode, RendererElement, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes, type PropType,  type VNode } from 'vue';
export interface SidebarListItem {
    /** 标题 */
    title: string;
    /** iconify 类名 */
    icon?: VNode;
    /** 外链 */
    href?: string;
    /** 内链 */
    path?: string;
    disabled?: boolean;
    /** 子菜单 */
    subMenu?: SidebarListItem[];
}
/**
 * @description 设置 subMenu(索引) menu(链接) 的 index 属性
 * @param menu  SidebarListItem
 * @param index number
 * @returns string
 */
export declare function setMenuIndex(menu: SidebarListItem, index: number): string;
declare const _default: DefineComponent<{
    width: {
        type: StringConstructor;
        default: string;
    };
    menuList: {
        type: PropType<SidebarListItem[]>;
        default: () => any[];
    };
    collapseIcon: {
        type: PropType<VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }>>;
        default: () => {};
    };
    collapse: {
        type: BooleanConstructor;
        default: boolean;
    };
}, () => JSX.Element, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, "update:collapse"[], "update:collapse", VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
    width: {
        type: StringConstructor;
        default: string;
    };
    menuList: {
        type: PropType<SidebarListItem[]>;
        default: () => any[];
    };
    collapseIcon: {
        type: PropType<VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }>>;
        default: () => {};
    };
    collapse: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & {
    "onUpdate:collapse"?: (...args: any[]) => any;
}, {
    width: string;
    collapse: boolean;
    menuList: SidebarListItem[];
    collapseIcon: VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }>;
}, {}>;
export default _default;
