import { NavigationFailure } from 'vue-router';
import { EpPropFinalized, EpPropMergeType } from 'element-plus/es/utils';
import { ScrollbarProps, MenuItemClicked } from 'element-plus';
import { PlusRouteRecordRaw, RenderTypes, Mutable } from 'plus-pro-components';
import { CreateComponentPublicInstance, ExtractPropTypes, PropType, ComputedRef, Ref, Component, ComputedOptions, MethodOptions, VNode, RendererNode, RendererElement, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ComponentOptionsBase } from 'vue';
import { default as Sidebar } from './src/index.vue';

export type PlusSidebarInstance = InstanceType<typeof Sidebar>;
export * from './src/type';
export declare const PlusSidebar: {
    new (...args: any[]): CreateComponentPublicInstance<Readonly< ExtractPropTypes<{
        width: {
            type: PropType<string | number>;
            default: number;
        };
        collapse: {
            type: PropType<boolean>;
            default: boolean;
        };
        routes: {
            type: PropType< PlusRouteRecordRaw[]>;
            default: () => never[];
        };
        renderTitle: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
        renderMenuItem: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
        renderSubMenuItem: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
        defaultActive: {
            type: PropType<string | ComputedRef<string> | Ref<string>>;
            default: undefined;
        };
        renderMenuExtra: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
        scrollbarProps: {
            type: PropType<Partial< Mutable<ScrollbarProps>>>;
            default: () => {};
        };
    }>> & {
        "onUpdate:collapse"?: ((collapse: boolean) => any) | undefined;
        onToggleCollapse?: ((collapse: boolean) => any) | undefined;
    }, {
        collapse: Ref<boolean>;
        toggleCollapse: () => void;
        plusSidebarInstance: Ref< CreateComponentPublicInstance<Readonly< ExtractPropTypes<{
            readonly mode: EpPropFinalized<StringConstructor, "vertical" | "horizontal", unknown, "vertical", boolean>;
            readonly defaultActive: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
            readonly defaultOpeneds: EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => [], boolean>;
            readonly uniqueOpened: BooleanConstructor;
            readonly router: BooleanConstructor;
            readonly menuTrigger: EpPropFinalized<StringConstructor, "hover" | "click", unknown, "hover", boolean>;
            readonly collapse: BooleanConstructor;
            readonly backgroundColor: StringConstructor;
            readonly textColor: StringConstructor;
            readonly activeTextColor: StringConstructor;
            readonly closeOnClickOutside: BooleanConstructor;
            readonly collapseTransition: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
            readonly ellipsis: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
            readonly popperOffset: EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
            readonly ellipsisIcon: EpPropFinalized<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>))[], unknown, unknown, () => any, boolean>;
            readonly popperEffect: EpPropFinalized<StringConstructor, "dark" | "light", unknown, "dark", boolean>;
            readonly popperClass: StringConstructor;
            readonly showTimeout: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
            readonly hideTimeout: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
        }>> & {
            onClose?: ((index: string, indexPath: string[]) => any) | undefined;
            onSelect?: ((index: string, indexPath: string[], item: MenuItemClicked, routerResult?: Promise<void | NavigationFailure> | undefined) => any) | undefined;
            onOpen?: ((index: string, indexPath: string[]) => any) | undefined;
        }, () => VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }>, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
            close: (index: string, indexPath: string[]) => boolean;
            open: (index: string, indexPath: string[]) => boolean;
            select: (index: string, indexPath: string[], item: MenuItemClicked, routerResult?: Promise<void | NavigationFailure> | undefined) => boolean;
        }, VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly< ExtractPropTypes<{
            readonly mode: EpPropFinalized<StringConstructor, "vertical" | "horizontal", unknown, "vertical", boolean>;
            readonly defaultActive: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
            readonly defaultOpeneds: EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => [], boolean>;
            readonly uniqueOpened: BooleanConstructor;
            readonly router: BooleanConstructor;
            readonly menuTrigger: EpPropFinalized<StringConstructor, "hover" | "click", unknown, "hover", boolean>;
            readonly collapse: BooleanConstructor;
            readonly backgroundColor: StringConstructor;
            readonly textColor: StringConstructor;
            readonly activeTextColor: StringConstructor;
            readonly closeOnClickOutside: BooleanConstructor;
            readonly collapseTransition: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
            readonly ellipsis: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
            readonly popperOffset: EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
            readonly ellipsisIcon: EpPropFinalized<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>))[], unknown, unknown, () => any, boolean>;
            readonly popperEffect: EpPropFinalized<StringConstructor, "dark" | "light", unknown, "dark", boolean>;
            readonly popperClass: StringConstructor;
            readonly showTimeout: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
            readonly hideTimeout: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
        }>> & {
            onClose?: ((index: string, indexPath: string[]) => any) | undefined;
            onSelect?: ((index: string, indexPath: string[], item: MenuItemClicked, routerResult?: Promise<void | NavigationFailure> | undefined) => any) | undefined;
            onOpen?: ((index: string, indexPath: string[]) => any) | undefined;
        }, {
            readonly ellipsis: EpPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly collapse: boolean;
            readonly mode: EpPropMergeType<StringConstructor, "vertical" | "horizontal", unknown>;
            readonly showTimeout: number;
            readonly hideTimeout: number;
            readonly defaultActive: string;
            readonly defaultOpeneds: string[];
            readonly menuTrigger: EpPropMergeType<StringConstructor, "hover" | "click", unknown>;
            readonly collapseTransition: EpPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly popperOffset: number;
            readonly ellipsisIcon: EpPropMergeType<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>))[], unknown, unknown>;
            readonly popperEffect: EpPropMergeType<StringConstructor, "dark" | "light", unknown>;
            readonly uniqueOpened: boolean;
            readonly router: boolean;
            readonly closeOnClickOutside: boolean;
        }, true, {}, {}, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly< ExtractPropTypes<{
            readonly mode: EpPropFinalized<StringConstructor, "vertical" | "horizontal", unknown, "vertical", boolean>;
            readonly defaultActive: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
            readonly defaultOpeneds: EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => [], boolean>;
            readonly uniqueOpened: BooleanConstructor;
            readonly router: BooleanConstructor;
            readonly menuTrigger: EpPropFinalized<StringConstructor, "hover" | "click", unknown, "hover", boolean>;
            readonly collapse: BooleanConstructor;
            readonly backgroundColor: StringConstructor;
            readonly textColor: StringConstructor;
            readonly activeTextColor: StringConstructor;
            readonly closeOnClickOutside: BooleanConstructor;
            readonly collapseTransition: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
            readonly ellipsis: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
            readonly popperOffset: EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
            readonly ellipsisIcon: EpPropFinalized<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>))[], unknown, unknown, () => any, boolean>;
            readonly popperEffect: EpPropFinalized<StringConstructor, "dark" | "light", unknown, "dark", boolean>;
            readonly popperClass: StringConstructor;
            readonly showTimeout: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
            readonly hideTimeout: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
        }>> & {
            onClose?: ((index: string, indexPath: string[]) => any) | undefined;
            onSelect?: ((index: string, indexPath: string[], item: MenuItemClicked, routerResult?: Promise<void | NavigationFailure> | undefined) => any) | undefined;
            onOpen?: ((index: string, indexPath: string[]) => any) | undefined;
        }, () => VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }>, {}, {}, {}, {
            readonly ellipsis: EpPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly collapse: boolean;
            readonly mode: EpPropMergeType<StringConstructor, "vertical" | "horizontal", unknown>;
            readonly showTimeout: number;
            readonly hideTimeout: number;
            readonly defaultActive: string;
            readonly defaultOpeneds: string[];
            readonly menuTrigger: EpPropMergeType<StringConstructor, "hover" | "click", unknown>;
            readonly collapseTransition: EpPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly popperOffset: number;
            readonly ellipsisIcon: EpPropMergeType<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>))[], unknown, unknown>;
            readonly popperEffect: EpPropMergeType<StringConstructor, "dark" | "light", unknown>;
            readonly uniqueOpened: boolean;
            readonly router: boolean;
            readonly closeOnClickOutside: boolean;
        }> | null>;
    }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
        "update:collapse": (collapse: boolean) => void;
        toggleCollapse: (collapse: boolean) => void;
    }, VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly< ExtractPropTypes<{
        width: {
            type: PropType<string | number>;
            default: number;
        };
        collapse: {
            type: PropType<boolean>;
            default: boolean;
        };
        routes: {
            type: PropType< PlusRouteRecordRaw[]>;
            default: () => never[];
        };
        renderTitle: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
        renderMenuItem: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
        renderSubMenuItem: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
        defaultActive: {
            type: PropType<string | ComputedRef<string> | Ref<string>>;
            default: undefined;
        };
        renderMenuExtra: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
        scrollbarProps: {
            type: PropType<Partial< Mutable<ScrollbarProps>>>;
            default: () => {};
        };
    }>> & {
        "onUpdate:collapse"?: ((collapse: boolean) => any) | undefined;
        onToggleCollapse?: ((collapse: boolean) => any) | undefined;
    }, {
        width: string | number;
        collapse: boolean;
        routes: PlusRouteRecordRaw[];
        renderTitle: (route: PlusRouteRecordRaw) => RenderTypes;
        renderMenuItem: (route: PlusRouteRecordRaw) => RenderTypes;
        renderSubMenuItem: (route: PlusRouteRecordRaw) => RenderTypes;
        defaultActive: string | ComputedRef<string> | Ref<string>;
        renderMenuExtra: (route: PlusRouteRecordRaw) => RenderTypes;
        scrollbarProps: Partial< Mutable<ScrollbarProps>>;
    }, true, {}, {}, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly< ExtractPropTypes<{
        width: {
            type: PropType<string | number>;
            default: number;
        };
        collapse: {
            type: PropType<boolean>;
            default: boolean;
        };
        routes: {
            type: PropType< PlusRouteRecordRaw[]>;
            default: () => never[];
        };
        renderTitle: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
        renderMenuItem: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
        renderSubMenuItem: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
        defaultActive: {
            type: PropType<string | ComputedRef<string> | Ref<string>>;
            default: undefined;
        };
        renderMenuExtra: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
        scrollbarProps: {
            type: PropType<Partial< Mutable<ScrollbarProps>>>;
            default: () => {};
        };
    }>> & {
        "onUpdate:collapse"?: ((collapse: boolean) => any) | undefined;
        onToggleCollapse?: ((collapse: boolean) => any) | undefined;
    }, {
        collapse: Ref<boolean>;
        toggleCollapse: () => void;
        plusSidebarInstance: Ref< CreateComponentPublicInstance<Readonly< ExtractPropTypes<{
            readonly mode: EpPropFinalized<StringConstructor, "vertical" | "horizontal", unknown, "vertical", boolean>;
            readonly defaultActive: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
            readonly defaultOpeneds: EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => [], boolean>;
            readonly uniqueOpened: BooleanConstructor;
            readonly router: BooleanConstructor;
            readonly menuTrigger: EpPropFinalized<StringConstructor, "hover" | "click", unknown, "hover", boolean>;
            readonly collapse: BooleanConstructor;
            readonly backgroundColor: StringConstructor;
            readonly textColor: StringConstructor;
            readonly activeTextColor: StringConstructor;
            readonly closeOnClickOutside: BooleanConstructor;
            readonly collapseTransition: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
            readonly ellipsis: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
            readonly popperOffset: EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
            readonly ellipsisIcon: EpPropFinalized<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>))[], unknown, unknown, () => any, boolean>;
            readonly popperEffect: EpPropFinalized<StringConstructor, "dark" | "light", unknown, "dark", boolean>;
            readonly popperClass: StringConstructor;
            readonly showTimeout: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
            readonly hideTimeout: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
        }>> & {
            onClose?: ((index: string, indexPath: string[]) => any) | undefined;
            onSelect?: ((index: string, indexPath: string[], item: MenuItemClicked, routerResult?: Promise<void | NavigationFailure> | undefined) => any) | undefined;
            onOpen?: ((index: string, indexPath: string[]) => any) | undefined;
        }, () => VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }>, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
            close: (index: string, indexPath: string[]) => boolean;
            open: (index: string, indexPath: string[]) => boolean;
            select: (index: string, indexPath: string[], item: MenuItemClicked, routerResult?: Promise<void | NavigationFailure> | undefined) => boolean;
        }, VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly< ExtractPropTypes<{
            readonly mode: EpPropFinalized<StringConstructor, "vertical" | "horizontal", unknown, "vertical", boolean>;
            readonly defaultActive: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
            readonly defaultOpeneds: EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => [], boolean>;
            readonly uniqueOpened: BooleanConstructor;
            readonly router: BooleanConstructor;
            readonly menuTrigger: EpPropFinalized<StringConstructor, "hover" | "click", unknown, "hover", boolean>;
            readonly collapse: BooleanConstructor;
            readonly backgroundColor: StringConstructor;
            readonly textColor: StringConstructor;
            readonly activeTextColor: StringConstructor;
            readonly closeOnClickOutside: BooleanConstructor;
            readonly collapseTransition: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
            readonly ellipsis: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
            readonly popperOffset: EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
            readonly ellipsisIcon: EpPropFinalized<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>))[], unknown, unknown, () => any, boolean>;
            readonly popperEffect: EpPropFinalized<StringConstructor, "dark" | "light", unknown, "dark", boolean>;
            readonly popperClass: StringConstructor;
            readonly showTimeout: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
            readonly hideTimeout: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
        }>> & {
            onClose?: ((index: string, indexPath: string[]) => any) | undefined;
            onSelect?: ((index: string, indexPath: string[], item: MenuItemClicked, routerResult?: Promise<void | NavigationFailure> | undefined) => any) | undefined;
            onOpen?: ((index: string, indexPath: string[]) => any) | undefined;
        }, {
            readonly ellipsis: EpPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly collapse: boolean;
            readonly mode: EpPropMergeType<StringConstructor, "vertical" | "horizontal", unknown>;
            readonly showTimeout: number;
            readonly hideTimeout: number;
            readonly defaultActive: string;
            readonly defaultOpeneds: string[];
            readonly menuTrigger: EpPropMergeType<StringConstructor, "hover" | "click", unknown>;
            readonly collapseTransition: EpPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly popperOffset: number;
            readonly ellipsisIcon: EpPropMergeType<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>))[], unknown, unknown>;
            readonly popperEffect: EpPropMergeType<StringConstructor, "dark" | "light", unknown>;
            readonly uniqueOpened: boolean;
            readonly router: boolean;
            readonly closeOnClickOutside: boolean;
        }, true, {}, {}, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly< ExtractPropTypes<{
            readonly mode: EpPropFinalized<StringConstructor, "vertical" | "horizontal", unknown, "vertical", boolean>;
            readonly defaultActive: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
            readonly defaultOpeneds: EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => [], boolean>;
            readonly uniqueOpened: BooleanConstructor;
            readonly router: BooleanConstructor;
            readonly menuTrigger: EpPropFinalized<StringConstructor, "hover" | "click", unknown, "hover", boolean>;
            readonly collapse: BooleanConstructor;
            readonly backgroundColor: StringConstructor;
            readonly textColor: StringConstructor;
            readonly activeTextColor: StringConstructor;
            readonly closeOnClickOutside: BooleanConstructor;
            readonly collapseTransition: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
            readonly ellipsis: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
            readonly popperOffset: EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
            readonly ellipsisIcon: EpPropFinalized<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>))[], unknown, unknown, () => any, boolean>;
            readonly popperEffect: EpPropFinalized<StringConstructor, "dark" | "light", unknown, "dark", boolean>;
            readonly popperClass: StringConstructor;
            readonly showTimeout: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
            readonly hideTimeout: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
        }>> & {
            onClose?: ((index: string, indexPath: string[]) => any) | undefined;
            onSelect?: ((index: string, indexPath: string[], item: MenuItemClicked, routerResult?: Promise<void | NavigationFailure> | undefined) => any) | undefined;
            onOpen?: ((index: string, indexPath: string[]) => any) | undefined;
        }, () => VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }>, {}, {}, {}, {
            readonly ellipsis: EpPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly collapse: boolean;
            readonly mode: EpPropMergeType<StringConstructor, "vertical" | "horizontal", unknown>;
            readonly showTimeout: number;
            readonly hideTimeout: number;
            readonly defaultActive: string;
            readonly defaultOpeneds: string[];
            readonly menuTrigger: EpPropMergeType<StringConstructor, "hover" | "click", unknown>;
            readonly collapseTransition: EpPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly popperOffset: number;
            readonly ellipsisIcon: EpPropMergeType<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>))[], unknown, unknown>;
            readonly popperEffect: EpPropMergeType<StringConstructor, "dark" | "light", unknown>;
            readonly uniqueOpened: boolean;
            readonly router: boolean;
            readonly closeOnClickOutside: boolean;
        }> | null>;
    }, {}, {}, {}, {
        width: string | number;
        collapse: boolean;
        routes: PlusRouteRecordRaw[];
        renderTitle: (route: PlusRouteRecordRaw) => RenderTypes;
        renderMenuItem: (route: PlusRouteRecordRaw) => RenderTypes;
        renderSubMenuItem: (route: PlusRouteRecordRaw) => RenderTypes;
        defaultActive: string | ComputedRef<string> | Ref<string>;
        renderMenuExtra: (route: PlusRouteRecordRaw) => RenderTypes;
        scrollbarProps: Partial< Mutable<ScrollbarProps>>;
    }>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & ComponentOptionsBase<Readonly< ExtractPropTypes<{
    width: {
        type: PropType<string | number>;
        default: number;
    };
    collapse: {
        type: PropType<boolean>;
        default: boolean;
    };
    routes: {
        type: PropType< PlusRouteRecordRaw[]>;
        default: () => never[];
    };
    renderTitle: {
        type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
        default: undefined;
    };
    renderMenuItem: {
        type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
        default: undefined;
    };
    renderSubMenuItem: {
        type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
        default: undefined;
    };
    defaultActive: {
        type: PropType<string | ComputedRef<string> | Ref<string>>;
        default: undefined;
    };
    renderMenuExtra: {
        type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
        default: undefined;
    };
    scrollbarProps: {
        type: PropType<Partial< Mutable<ScrollbarProps>>>;
        default: () => {};
    };
}>> & {
    "onUpdate:collapse"?: ((collapse: boolean) => any) | undefined;
    onToggleCollapse?: ((collapse: boolean) => any) | undefined;
}, {
    collapse: Ref<boolean>;
    toggleCollapse: () => void;
    plusSidebarInstance: Ref< CreateComponentPublicInstance<Readonly< ExtractPropTypes<{
        readonly mode: EpPropFinalized<StringConstructor, "vertical" | "horizontal", unknown, "vertical", boolean>;
        readonly defaultActive: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        readonly defaultOpeneds: EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => [], boolean>;
        readonly uniqueOpened: BooleanConstructor;
        readonly router: BooleanConstructor;
        readonly menuTrigger: EpPropFinalized<StringConstructor, "hover" | "click", unknown, "hover", boolean>;
        readonly collapse: BooleanConstructor;
        readonly backgroundColor: StringConstructor;
        readonly textColor: StringConstructor;
        readonly activeTextColor: StringConstructor;
        readonly closeOnClickOutside: BooleanConstructor;
        readonly collapseTransition: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
        readonly ellipsis: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
        readonly popperOffset: EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
        readonly ellipsisIcon: EpPropFinalized<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>))[], unknown, unknown, () => any, boolean>;
        readonly popperEffect: EpPropFinalized<StringConstructor, "dark" | "light", unknown, "dark", boolean>;
        readonly popperClass: StringConstructor;
        readonly showTimeout: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
        readonly hideTimeout: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
    }>> & {
        onClose?: ((index: string, indexPath: string[]) => any) | undefined;
        onSelect?: ((index: string, indexPath: string[], item: MenuItemClicked, routerResult?: Promise<void | NavigationFailure> | undefined) => any) | undefined;
        onOpen?: ((index: string, indexPath: string[]) => any) | undefined;
    }, () => VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }>, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
        close: (index: string, indexPath: string[]) => boolean;
        open: (index: string, indexPath: string[]) => boolean;
        select: (index: string, indexPath: string[], item: MenuItemClicked, routerResult?: Promise<void | NavigationFailure> | undefined) => boolean;
    }, VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly< ExtractPropTypes<{
        readonly mode: EpPropFinalized<StringConstructor, "vertical" | "horizontal", unknown, "vertical", boolean>;
        readonly defaultActive: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        readonly defaultOpeneds: EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => [], boolean>;
        readonly uniqueOpened: BooleanConstructor;
        readonly router: BooleanConstructor;
        readonly menuTrigger: EpPropFinalized<StringConstructor, "hover" | "click", unknown, "hover", boolean>;
        readonly collapse: BooleanConstructor;
        readonly backgroundColor: StringConstructor;
        readonly textColor: StringConstructor;
        readonly activeTextColor: StringConstructor;
        readonly closeOnClickOutside: BooleanConstructor;
        readonly collapseTransition: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
        readonly ellipsis: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
        readonly popperOffset: EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
        readonly ellipsisIcon: EpPropFinalized<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>))[], unknown, unknown, () => any, boolean>;
        readonly popperEffect: EpPropFinalized<StringConstructor, "dark" | "light", unknown, "dark", boolean>;
        readonly popperClass: StringConstructor;
        readonly showTimeout: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
        readonly hideTimeout: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
    }>> & {
        onClose?: ((index: string, indexPath: string[]) => any) | undefined;
        onSelect?: ((index: string, indexPath: string[], item: MenuItemClicked, routerResult?: Promise<void | NavigationFailure> | undefined) => any) | undefined;
        onOpen?: ((index: string, indexPath: string[]) => any) | undefined;
    }, {
        readonly ellipsis: EpPropMergeType<BooleanConstructor, unknown, unknown>;
        readonly collapse: boolean;
        readonly mode: EpPropMergeType<StringConstructor, "vertical" | "horizontal", unknown>;
        readonly showTimeout: number;
        readonly hideTimeout: number;
        readonly defaultActive: string;
        readonly defaultOpeneds: string[];
        readonly menuTrigger: EpPropMergeType<StringConstructor, "hover" | "click", unknown>;
        readonly collapseTransition: EpPropMergeType<BooleanConstructor, unknown, unknown>;
        readonly popperOffset: number;
        readonly ellipsisIcon: EpPropMergeType<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>))[], unknown, unknown>;
        readonly popperEffect: EpPropMergeType<StringConstructor, "dark" | "light", unknown>;
        readonly uniqueOpened: boolean;
        readonly router: boolean;
        readonly closeOnClickOutside: boolean;
    }, true, {}, {}, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly< ExtractPropTypes<{
        readonly mode: EpPropFinalized<StringConstructor, "vertical" | "horizontal", unknown, "vertical", boolean>;
        readonly defaultActive: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        readonly defaultOpeneds: EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => [], boolean>;
        readonly uniqueOpened: BooleanConstructor;
        readonly router: BooleanConstructor;
        readonly menuTrigger: EpPropFinalized<StringConstructor, "hover" | "click", unknown, "hover", boolean>;
        readonly collapse: BooleanConstructor;
        readonly backgroundColor: StringConstructor;
        readonly textColor: StringConstructor;
        readonly activeTextColor: StringConstructor;
        readonly closeOnClickOutside: BooleanConstructor;
        readonly collapseTransition: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
        readonly ellipsis: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
        readonly popperOffset: EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
        readonly ellipsisIcon: EpPropFinalized<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>))[], unknown, unknown, () => any, boolean>;
        readonly popperEffect: EpPropFinalized<StringConstructor, "dark" | "light", unknown, "dark", boolean>;
        readonly popperClass: StringConstructor;
        readonly showTimeout: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
        readonly hideTimeout: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
    }>> & {
        onClose?: ((index: string, indexPath: string[]) => any) | undefined;
        onSelect?: ((index: string, indexPath: string[], item: MenuItemClicked, routerResult?: Promise<void | NavigationFailure> | undefined) => any) | undefined;
        onOpen?: ((index: string, indexPath: string[]) => any) | undefined;
    }, () => VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }>, {}, {}, {}, {
        readonly ellipsis: EpPropMergeType<BooleanConstructor, unknown, unknown>;
        readonly collapse: boolean;
        readonly mode: EpPropMergeType<StringConstructor, "vertical" | "horizontal", unknown>;
        readonly showTimeout: number;
        readonly hideTimeout: number;
        readonly defaultActive: string;
        readonly defaultOpeneds: string[];
        readonly menuTrigger: EpPropMergeType<StringConstructor, "hover" | "click", unknown>;
        readonly collapseTransition: EpPropMergeType<BooleanConstructor, unknown, unknown>;
        readonly popperOffset: number;
        readonly ellipsisIcon: EpPropMergeType<(new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) | ((new (...args: any[]) => (string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>) & {}) | (() => string | Component<any, any, any, ComputedOptions, MethodOptions, {}, any>))[], unknown, unknown>;
        readonly popperEffect: EpPropMergeType<StringConstructor, "dark" | "light", unknown>;
        readonly uniqueOpened: boolean;
        readonly router: boolean;
        readonly closeOnClickOutside: boolean;
    }> | null>;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    "update:collapse": (collapse: boolean) => void;
    toggleCollapse: (collapse: boolean) => void;
}, string, {
    width: string | number;
    collapse: boolean;
    routes: PlusRouteRecordRaw[];
    renderTitle: (route: PlusRouteRecordRaw) => RenderTypes;
    renderMenuItem: (route: PlusRouteRecordRaw) => RenderTypes;
    renderSubMenuItem: (route: PlusRouteRecordRaw) => RenderTypes;
    defaultActive: string | ComputedRef<string> | Ref<string>;
    renderMenuExtra: (route: PlusRouteRecordRaw) => RenderTypes;
    scrollbarProps: Partial< Mutable<ScrollbarProps>>;
}, {}, string, {}> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
    $slots: {
        "sidebar-extra"?(_: {}): any;
        "sidebar-item"?(_: any): any;
        "sidebar-sub"?(_: any): any;
        "sidebar-item-title"?(_: any): any;
    };
});
export declare const PlusSidebarItem: {
    new (...args: any[]): CreateComponentPublicInstance<Readonly< ExtractPropTypes<{
        item: {
            type: PropType<PlusRouteRecordRaw>;
            required: true;
        };
        parent: {
            type: PropType< PlusRouteRecordRaw | PlusRouteRecordRaw[]>;
            required: true;
        };
        collapse: {
            type: PropType<boolean>;
            default: boolean;
        };
        renderTitle: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
        renderMenuItem: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
        renderSubMenuItem: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
    }>>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly< ExtractPropTypes<{
        item: {
            type: PropType<PlusRouteRecordRaw>;
            required: true;
        };
        parent: {
            type: PropType< PlusRouteRecordRaw | PlusRouteRecordRaw[]>;
            required: true;
        };
        collapse: {
            type: PropType<boolean>;
            default: boolean;
        };
        renderTitle: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
        renderMenuItem: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
        renderSubMenuItem: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
    }>>, {
        collapse: boolean;
        renderTitle: (route: PlusRouteRecordRaw) => RenderTypes;
        renderMenuItem: (route: PlusRouteRecordRaw) => RenderTypes;
        renderSubMenuItem: (route: PlusRouteRecordRaw) => RenderTypes;
    }, true, {}, {}, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly< ExtractPropTypes<{
        item: {
            type: PropType<PlusRouteRecordRaw>;
            required: true;
        };
        parent: {
            type: PropType< PlusRouteRecordRaw | PlusRouteRecordRaw[]>;
            required: true;
        };
        collapse: {
            type: PropType<boolean>;
            default: boolean;
        };
        renderTitle: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
        renderMenuItem: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
        renderSubMenuItem: {
            type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
            default: undefined;
        };
    }>>, {}, {}, {}, {}, {
        collapse: boolean;
        renderTitle: (route: PlusRouteRecordRaw) => RenderTypes;
        renderMenuItem: (route: PlusRouteRecordRaw) => RenderTypes;
        renderSubMenuItem: (route: PlusRouteRecordRaw) => RenderTypes;
    }>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & ComponentOptionsBase<Readonly< ExtractPropTypes<{
    item: {
        type: PropType<PlusRouteRecordRaw>;
        required: true;
    };
    parent: {
        type: PropType< PlusRouteRecordRaw | PlusRouteRecordRaw[]>;
        required: true;
    };
    collapse: {
        type: PropType<boolean>;
        default: boolean;
    };
    renderTitle: {
        type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
        default: undefined;
    };
    renderMenuItem: {
        type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
        default: undefined;
    };
    renderSubMenuItem: {
        type: PropType<(route: PlusRouteRecordRaw) => RenderTypes>;
        default: undefined;
    };
}>>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {
    collapse: boolean;
    renderTitle: (route: PlusRouteRecordRaw) => RenderTypes;
    renderMenuItem: (route: PlusRouteRecordRaw) => RenderTypes;
    renderSubMenuItem: (route: PlusRouteRecordRaw) => RenderTypes;
}, {}, string, {}> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
    $slots: {
        "sidebar-item"?(_: any): any;
        "sidebar-item-title"?(_: any): any;
        "sidebar-sub"?(_: any): any;
    };
});
