import { NavigationFailure } from 'vue-router';
import { EpPropFinalized, EpPropMergeType } from 'element-plus/es/utils';
import { Component, DefineComponent, Ref, ComponentInternalInstance, ComputedRef, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes, PropType, Slot, ComponentPublicInstance, ComponentOptionsBase, CreateComponentPublicInstance, ComputedOptions, MethodOptions, VNode, RendererNode, RendererElement, ComponentOptionsMixin, DebuggerEvent, nextTick, WatchOptions, WatchStopHandle, ShallowUnwrapRef, ComponentCustomProperties, PublicProps } from 'vue';
import { Mutable, PlusRouteRecordRaw, RenderTypes } from 'plus-pro-components/es/types';
import { ScrollbarProps, BacktopProps, MenuItemClicked } from 'element-plus';
import { PlusHeaderProps } from 'plus-pro-components/es/components/header';
import { PlusSidebarProps } from 'plus-pro-components/es/components/sidebar';
import { PlusBreadcrumbProps } from 'plus-pro-components/es/components/breadcrumb';

export interface PlusLayoutProps {
    /**
     * @version v0.1.15
     */
    hasSidebar?: boolean;
    /**
     * @version v0.1.15
     */
    hasHeader?: boolean;
    /**
     * @version v0.1.15
     */
    hasBreadcrumb?: boolean;
    sidebarProps?: PlusSidebarProps;
    headerProps?: PlusHeaderProps;
    breadcrumbProps?: PlusBreadcrumbProps;
    scrollbarProps?: Partial<Mutable<ScrollbarProps>>;
    backtop?: boolean | Partial<Mutable<BacktopProps>>;
}
declare const _default: __VLS_WithTemplateSlots< DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<PlusLayoutProps>, {
    hasSidebar: boolean;
    hasHeader: boolean;
    hasBreadcrumb: boolean;
    sidebarProps: undefined;
    headerProps: undefined;
    breadcrumbProps: undefined;
    backtop: boolean;
    scrollbarProps: () => {
        always: boolean;
    };
}>, {
    plusSidebarInstance: Ref<({
        $: ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            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>>;
        }> & Omit<{
            readonly width: string | number;
            readonly collapse: boolean;
            readonly routes: PlusRouteRecordRaw[];
            readonly scrollbarProps: Partial<Mutable<ScrollbarProps>>;
            readonly renderTitle?: ((route: PlusRouteRecordRaw) => RenderTypes) | undefined;
            readonly renderMenuItem?: ((route: PlusRouteRecordRaw) => RenderTypes) | undefined;
            readonly renderSubMenuItem?: ((route: PlusRouteRecordRaw) => RenderTypes) | undefined;
            readonly defaultActive?: string | ComputedRef<string> | Ref<string> | undefined;
            readonly renderMenuExtra?: ((route: PlusRouteRecordRaw) => RenderTypes) | undefined;
            "onUpdate:collapse"?: ((collapse: boolean) => any) | undefined;
            onToggleCollapse?: ((collapse: boolean) => any) | undefined;
        } & 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" | "collapse" | "routes" | "renderTitle" | "renderMenuItem" | "renderSubMenuItem" | "defaultActive" | "renderMenuExtra" | "scrollbarProps">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: Slot<any> | undefined;
        }>;
        $root: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
        $parent: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
        $emit: ((event: "update:collapse", collapse: boolean) => void) & ((event: "toggleCollapse", collapse: boolean) => void);
        $el: any;
        $options: 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, {}> & {
            beforeCreate?: ((() => void) | (() => void)[]) | undefined;
            created?: ((() => void) | (() => void)[]) | undefined;
            beforeMount?: ((() => void) | (() => void)[]) | undefined;
            mounted?: ((() => void) | (() => void)[]) | undefined;
            beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
            updated?: ((() => void) | (() => void)[]) | undefined;
            activated?: ((() => void) | (() => void)[]) | undefined;
            deactivated?: ((() => void) | (() => void)[]) | undefined;
            beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
            beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
            destroyed?: ((() => void) | (() => void)[]) | undefined;
            unmounted?: ((() => void) | (() => void)[]) | undefined;
            renderTracked?: (((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[]) | undefined;
            renderTriggered?: (((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[]) | undefined;
            errorCaptured?: (((err: unknown, instance: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void)[]) | undefined;
        };
        $forceUpdate: () => void;
        $nextTick: nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: WatchOptions<boolean> | undefined): WatchStopHandle;
    } & Omit<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" | "toggleCollapse" | "plusSidebarInstance"> & ShallowUnwrapRef<{
        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>;
    }> & {} & ComponentCustomProperties & {} & {
        $slots: {
            "sidebar-extra"?(_: {}): any;
            "sidebar-item"?(_: any): any;
            "sidebar-sub"?(_: any): any;
            "sidebar-item-title"?(_: any): any;
        };
    }) | null | undefined>;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<PlusLayoutProps>, {
    hasSidebar: boolean;
    hasHeader: boolean;
    hasBreadcrumb: boolean;
    sidebarProps: undefined;
    headerProps: undefined;
    breadcrumbProps: undefined;
    backtop: boolean;
    scrollbarProps: () => {
        always: boolean;
    };
}>>>, {
    scrollbarProps: Partial<Mutable<ScrollbarProps>>;
    hasSidebar: boolean;
    hasHeader: boolean;
    hasBreadcrumb: boolean;
    sidebarProps: PlusSidebarProps;
    headerProps: PlusHeaderProps;
    breadcrumbProps: PlusBreadcrumbProps;
    backtop: boolean | Partial<Mutable<BacktopProps>>;
}, {}>, {
    "header-left"?(_: any): any;
    "header-right"?(_: any): any;
    "sidebar-extra"?(_: any): any;
    "sidebar-item"?(_: any): any;
    "sidebar-sub"?(_: any): any;
    "sidebar-item-title"?(_: any): any;
    "layout-extra"?(_: {}): any;
    "breadcrumb-item-title"?(_: any): any;
    default?(_: {}): any;
}>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: PropType<__VLS_NonUndefinedable<T[K]>>;
    } : {
        type: PropType<T[K]>;
        required: true;
    };
};
type __VLS_WithDefaults<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
        default: D[K];
    }> : P[K];
};
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
