import { Ref } from 'vue'; import { RouteItem } from '../../utils/repoUtils'; export interface RouteItemWithPath extends RouteItem { paths?: RouteItem[]; } export interface LayoutContext { menus: Ref; sideOpen: Ref; isMobile: Ref; getMenus: () => RouteItem[]; } export declare function useLayoutState(): { initLayoutState: () => void; sideOpen: Ref; isMobile: Ref; leftScrollRef: Ref<({ $: import('vue').ComponentInternalInstance; $data: {}; $props: { readonly distance?: number | undefined; readonly height?: number | string | undefined; readonly maxHeight?: number | string | undefined; readonly native?: boolean | undefined; readonly wrapStyle?: import('vue').StyleValue; readonly wrapClass?: string | string[] | undefined; readonly viewClass?: string | string[] | undefined; readonly viewStyle?: import('vue').StyleValue; readonly noresize?: boolean | undefined; readonly tag?: (keyof HTMLElementTagNameMap | (string & {})) | undefined; readonly always?: boolean | undefined; readonly minSize?: number | undefined; readonly tabindex?: number | string | undefined; readonly id?: string | undefined; readonly role?: string | undefined; readonly ariaLabel?: string | undefined; readonly ariaOrientation?: "horizontal" | "vertical" | "undefined" | undefined; readonly onScroll?: ((args_0: { scrollTop: number; scrollLeft: number; }) => any) | undefined | undefined; readonly "onEnd-reached"?: ((direction: import('element-plus').ScrollbarDirection) => any) | undefined | undefined; } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps; $attrs: import('vue').Attrs; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: import('vue').Slot | undefined; }>; $root: import('vue').ComponentPublicInstance | null; $parent: import('vue').ComponentPublicInstance | null; $host: Element | null; $emit: ((event: "scroll", args_0: { scrollTop: number; scrollLeft: number; }) => void) & ((event: "end-reached", direction: import('element-plus').ScrollbarDirection) => void); $el: any; $options: import('vue').ComponentOptionsBase & Readonly<{ onScroll?: ((args_0: { scrollTop: number; scrollLeft: number; }) => any) | undefined; "onEnd-reached"?: ((direction: import('element-plus').ScrollbarDirection) => any) | undefined; }>, { wrapRef: Ref; update: () => void; scrollTo: { (xCord: number, yCord?: number): void; (options: ScrollToOptions): void; }; setScrollTop: (value: number) => void; setScrollLeft: (value: number) => void; handleScroll: () => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { scroll: (args_0: { scrollTop: number; scrollLeft: number; }) => void; "end-reached": (direction: import('element-plus').ScrollbarDirection) => void; }, string, { tabindex: number | string; height: number | string; maxHeight: number | string; tag: keyof HTMLElementTagNameMap | (string & {}); distance: number; wrapStyle: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null; wrapClass: string | string[]; viewClass: string | string[]; viewStyle: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null; minSize: number; }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & { beforeCreate?: (() => void) | (() => void)[]; created?: (() => void) | (() => void)[]; beforeMount?: (() => void) | (() => void)[]; mounted?: (() => void) | (() => void)[]; beforeUpdate?: (() => void) | (() => void)[]; updated?: (() => void) | (() => void)[]; activated?: (() => void) | (() => void)[]; deactivated?: (() => void) | (() => void)[]; beforeDestroy?: (() => void) | (() => void)[]; beforeUnmount?: (() => void) | (() => void)[]; destroyed?: (() => void) | (() => void)[]; unmounted?: (() => void) | (() => void)[]; renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]; renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]; errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[]; }; $forceUpdate: () => void; $nextTick: typeof import('vue').nextTick; $watch any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle; } & Readonly<{ tabindex: number | string; height: number | string; maxHeight: number | string; tag: keyof HTMLElementTagNameMap | (string & {}); distance: number; wrapStyle: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null; wrapClass: string | string[]; viewClass: string | string[]; viewStyle: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null; minSize: number; }> & Omit & Readonly<{ onScroll?: ((args_0: { scrollTop: number; scrollLeft: number; }) => any) | undefined; "onEnd-reached"?: ((direction: import('element-plus').ScrollbarDirection) => any) | undefined; }>, "distance" | "height" | "maxHeight" | "wrapStyle" | "wrapClass" | "viewClass" | "viewStyle" | "tag" | "minSize" | "tabindex" | "wrapRef" | "update" | "scrollTo" | "setScrollTop" | "setScrollLeft" | "handleScroll"> & { wrapRef: HTMLDivElement | undefined; update: () => void; scrollTo: { (xCord: number, yCord?: number): void; (options: ScrollToOptions): void; }; setScrollTop: (value: number) => void; setScrollLeft: (value: number) => void; handleScroll: () => void; } & {} & import('vue').ComponentCustomProperties & {} & { $slots: { default?: (props: {}) => any; }; }) | undefined, ({ $: import('vue').ComponentInternalInstance; $data: {}; $props: { readonly distance?: number | undefined; readonly height?: number | string | undefined; readonly maxHeight?: number | string | undefined; readonly native?: boolean | undefined; readonly wrapStyle?: import('vue').StyleValue; readonly wrapClass?: string | string[] | undefined; readonly viewClass?: string | string[] | undefined; readonly viewStyle?: import('vue').StyleValue; readonly noresize?: boolean | undefined; readonly tag?: (keyof HTMLElementTagNameMap | (string & {})) | undefined; readonly always?: boolean | undefined; readonly minSize?: number | undefined; readonly tabindex?: number | string | undefined; readonly id?: string | undefined; readonly role?: string | undefined; readonly ariaLabel?: string | undefined; readonly ariaOrientation?: "horizontal" | "vertical" | "undefined" | undefined; readonly onScroll?: ((args_0: { scrollTop: number; scrollLeft: number; }) => any) | undefined | undefined; readonly "onEnd-reached"?: ((direction: import('element-plus').ScrollbarDirection) => any) | undefined | undefined; } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps; $attrs: import('vue').Attrs; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: import('vue').Slot | undefined; }>; $root: import('vue').ComponentPublicInstance | null; $parent: import('vue').ComponentPublicInstance | null; $host: Element | null; $emit: ((event: "scroll", args_0: { scrollTop: number; scrollLeft: number; }) => void) & ((event: "end-reached", direction: import('element-plus').ScrollbarDirection) => void); $el: any; $options: import('vue').ComponentOptionsBase & Readonly<{ onScroll?: ((args_0: { scrollTop: number; scrollLeft: number; }) => any) | undefined; "onEnd-reached"?: ((direction: import('element-plus').ScrollbarDirection) => any) | undefined; }>, { wrapRef: Ref; update: () => void; scrollTo: { (xCord: number, yCord?: number): void; (options: ScrollToOptions): void; }; setScrollTop: (value: number) => void; setScrollLeft: (value: number) => void; handleScroll: () => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { scroll: (args_0: { scrollTop: number; scrollLeft: number; }) => void; "end-reached": (direction: import('element-plus').ScrollbarDirection) => void; }, string, { tabindex: number | string; height: number | string; maxHeight: number | string; tag: keyof HTMLElementTagNameMap | (string & {}); distance: number; wrapStyle: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null; wrapClass: string | string[]; viewClass: string | string[]; viewStyle: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null; minSize: number; }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & { beforeCreate?: (() => void) | (() => void)[]; created?: (() => void) | (() => void)[]; beforeMount?: (() => void) | (() => void)[]; mounted?: (() => void) | (() => void)[]; beforeUpdate?: (() => void) | (() => void)[]; updated?: (() => void) | (() => void)[]; activated?: (() => void) | (() => void)[]; deactivated?: (() => void) | (() => void)[]; beforeDestroy?: (() => void) | (() => void)[]; beforeUnmount?: (() => void) | (() => void)[]; destroyed?: (() => void) | (() => void)[]; unmounted?: (() => void) | (() => void)[]; renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]; renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]; errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[]; }; $forceUpdate: () => void; $nextTick: typeof import('vue').nextTick; $watch any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle; } & Readonly<{ tabindex: number | string; height: number | string; maxHeight: number | string; tag: keyof HTMLElementTagNameMap | (string & {}); distance: number; wrapStyle: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null; wrapClass: string | string[]; viewClass: string | string[]; viewStyle: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null; minSize: number; }> & Omit & Readonly<{ onScroll?: ((args_0: { scrollTop: number; scrollLeft: number; }) => any) | undefined; "onEnd-reached"?: ((direction: import('element-plus').ScrollbarDirection) => any) | undefined; }>, "distance" | "height" | "maxHeight" | "wrapStyle" | "wrapClass" | "viewClass" | "viewStyle" | "tag" | "minSize" | "tabindex" | "wrapRef" | "update" | "scrollTo" | "setScrollTop" | "setScrollLeft" | "handleScroll"> & { wrapRef: HTMLDivElement | undefined; update: () => void; scrollTo: { (xCord: number, yCord?: number): void; (options: ScrollToOptions): void; }; setScrollTop: (value: number) => void; setScrollLeft: (value: number) => void; handleScroll: () => void; } & {} & import('vue').ComponentCustomProperties & {} & { $slots: { default?: (props: {}) => any; }; }) | undefined>; };