import { MenuItem } from '../menu/menu'; declare function toggleOpen(key: string): void; declare function __VLS_template(): { attrs: Partial<{}>; slots: { header?(_: {}): any; item?(_: { item: MenuItem; active: boolean; }): any; item?(_: { item: MenuItem; active: boolean; }): any; item?(_: { item: MenuItem; active: boolean; }): any; item?(_: { item: MenuItem; active: boolean; }): any; item?(_: { item: MenuItem; active: boolean; }): any; item?(_: { item: MenuItem; active: boolean; }): any; footer?(_: {}): any; }; refs: { bodyRef: HTMLDivElement; }; rootEl: HTMLElement; }; type __VLS_TemplateResult = ReturnType; declare const __VLS_component: import('vue').DefineComponent; readonly default: () => never[]; }; readonly modelValue: { readonly type: StringConstructor; readonly default: ""; }; readonly collapsed: { readonly type: BooleanConstructor; readonly default: false; }; readonly theme: { readonly type: import('vue').PropType; readonly default: "light"; }; readonly accordion: { readonly type: BooleanConstructor; readonly default: false; }; readonly indent: { readonly type: NumberConstructor; readonly default: 24; }; readonly collapsedWidth: { readonly type: NumberConstructor; readonly default: 48; }; readonly width: { readonly type: import('vue').PropType; readonly default: 240; }; readonly rounded: { readonly type: BooleanConstructor; readonly default: true; }; readonly rootClass: { readonly type: import('vue').PropType>; readonly default: ""; }; readonly searchable: { readonly type: BooleanConstructor; readonly default: false; }; readonly searchPlaceholder: { readonly type: StringConstructor; readonly default: "Search..."; }; readonly draggable: { readonly type: BooleanConstructor; readonly default: false; }; readonly mini: { readonly type: BooleanConstructor; readonly default: false; }; readonly resizable: { readonly type: BooleanConstructor; readonly default: false; }; readonly minWidth: { readonly type: NumberConstructor; readonly default: 160; }; readonly maxWidth: { readonly type: NumberConstructor; readonly default: 400; }; readonly scrollShadow: { readonly type: BooleanConstructor; readonly default: true; }; readonly loading: { readonly type: BooleanConstructor; readonly default: false; }; readonly loadingCount: { readonly type: NumberConstructor; readonly default: 6; }; }>, { openKeys: () => string[]; toggleOpen: typeof toggleOpen; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { search: (query: string) => void; select: (key: string, item: MenuItem) => void; "update:modelValue": (key: string) => void; resize: (width: number) => void; reorder: (items: MenuItem[]) => void; "context-menu": (item: MenuItem, event: MouseEvent) => void; "update:collapsed": (collapsed: boolean) => void; "open-change": (openKeys: string[]) => void; pin: (item: MenuItem) => void; }, string, import('vue').PublicProps, Readonly; readonly default: () => never[]; }; readonly modelValue: { readonly type: StringConstructor; readonly default: ""; }; readonly collapsed: { readonly type: BooleanConstructor; readonly default: false; }; readonly theme: { readonly type: import('vue').PropType; readonly default: "light"; }; readonly accordion: { readonly type: BooleanConstructor; readonly default: false; }; readonly indent: { readonly type: NumberConstructor; readonly default: 24; }; readonly collapsedWidth: { readonly type: NumberConstructor; readonly default: 48; }; readonly width: { readonly type: import('vue').PropType; readonly default: 240; }; readonly rounded: { readonly type: BooleanConstructor; readonly default: true; }; readonly rootClass: { readonly type: import('vue').PropType>; readonly default: ""; }; readonly searchable: { readonly type: BooleanConstructor; readonly default: false; }; readonly searchPlaceholder: { readonly type: StringConstructor; readonly default: "Search..."; }; readonly draggable: { readonly type: BooleanConstructor; readonly default: false; }; readonly mini: { readonly type: BooleanConstructor; readonly default: false; }; readonly resizable: { readonly type: BooleanConstructor; readonly default: false; }; readonly minWidth: { readonly type: NumberConstructor; readonly default: 160; }; readonly maxWidth: { readonly type: NumberConstructor; readonly default: 400; }; readonly scrollShadow: { readonly type: BooleanConstructor; readonly default: true; }; readonly loading: { readonly type: BooleanConstructor; readonly default: false; }; readonly loadingCount: { readonly type: NumberConstructor; readonly default: 6; }; }>> & Readonly<{ onSearch?: ((query: string) => any) | undefined; onSelect?: ((key: string, item: MenuItem) => any) | undefined; "onUpdate:modelValue"?: ((key: string) => any) | undefined; onResize?: ((width: number) => any) | undefined; onReorder?: ((items: MenuItem[]) => any) | undefined; "onContext-menu"?: ((item: MenuItem, event: MouseEvent) => any) | undefined; "onUpdate:collapsed"?: ((collapsed: boolean) => any) | undefined; "onOpen-change"?: ((openKeys: string[]) => any) | undefined; onPin?: ((item: MenuItem) => any) | undefined; }>, { readonly loading: boolean; readonly width: string | number; readonly modelValue: string; readonly draggable: boolean; readonly maxWidth: number; readonly collapsed: boolean; readonly searchable: boolean; readonly items: MenuItem[]; readonly rounded: boolean; readonly resizable: boolean; readonly accordion: boolean; readonly indent: number; readonly rootClass: string | string[] | Record; readonly theme: import('./sidebar').SidebarTheme; readonly loadingCount: number; readonly collapsedWidth: number; readonly searchPlaceholder: string; readonly mini: boolean; readonly minWidth: number; readonly scrollShadow: boolean; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, { bodyRef: HTMLDivElement; }, HTMLElement>; declare const _default: __VLS_WithTemplateSlots; export default _default; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };