import { SidebarNavEmits, SidebarNavGroup, SidebarNavItem, SidebarNavItemAction, SidebarNavProps, SidebarNavValue, SidebarNavWorkspace } from './src/types';
import { default as TxSidebarNav } from './src/TxSidebarNav.vue';
/**
* TxSidebarNav — vertical workspace navigation: switcher, quick search,
* primary action and grouped destinations under one travelling highlight.
*
* @example
* ```ts
* import { TxSidebarNav } from '@talex-touch/tuffex'
*
* //
* ```
*
* @public
*/
declare const SidebarNav: {
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins & Readonly<{
onSelect?: ((item: SidebarNavItem) => any) | undefined;
"onUpdate:modelValue"?: ((value: SidebarNavValue) => any) | undefined;
onAction?: (() => any) | undefined;
"onUpdate:query"?: ((value: string) => any) | undefined;
onItemAction?: ((item: SidebarNavItem) => any) | undefined;
onWorkspaceClick?: (() => any) | undefined;
}>, {
focusSearch: () => void;
refreshIndicator: () => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
select: (item: SidebarNavItem) => any;
"update:modelValue": (value: SidebarNavValue) => any;
action: () => any;
"update:query": (value: string) => any;
itemAction: (item: SidebarNavItem) => any;
workspaceClick: () => any;
}, import('vue').PublicProps, {
ariaLabel: string;
workspaceLabel: string;
indicatorDuration: number;
}, false, {}, {}, Record, Record, string, {
searchInputRef: HTMLInputElement;
navRef: HTMLDivElement;
indicatorRef: HTMLSpanElement;
}, HTMLElement, import('vue').ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly & Readonly<{
onSelect?: ((item: SidebarNavItem) => any) | undefined;
"onUpdate:modelValue"?: ((value: SidebarNavValue) => any) | undefined;
onAction?: (() => any) | undefined;
"onUpdate:query"?: ((value: string) => any) | undefined;
onItemAction?: ((item: SidebarNavItem) => any) | undefined;
onWorkspaceClick?: (() => any) | undefined;
}>, {
focusSearch: () => void;
refreshIndicator: () => void;
}, {}, {}, {}, {
ariaLabel: string;
workspaceLabel: string;
indicatorDuration: number;
}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & import('vue').ComponentOptionsBase & Readonly<{
onSelect?: ((item: SidebarNavItem) => any) | undefined;
"onUpdate:modelValue"?: ((value: SidebarNavValue) => any) | undefined;
onAction?: (() => any) | undefined;
"onUpdate:query"?: ((value: string) => any) | undefined;
onItemAction?: ((item: SidebarNavItem) => any) | undefined;
onWorkspaceClick?: (() => any) | undefined;
}>, {
focusSearch: () => void;
refreshIndicator: () => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
select: (item: SidebarNavItem) => any;
"update:modelValue": (value: SidebarNavValue) => any;
action: () => any;
"update:query": (value: string) => any;
itemAction: (item: SidebarNavItem) => any;
workspaceClick: () => any;
}, string, {
ariaLabel: string;
workspaceLabel: string;
indicatorDuration: number;
}, {}, string, {}, Record, Record, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
$slots: Readonly<{
workspace?: () => any;
'item-icon'?: (props: {
item: SidebarNavItem;
active: boolean;
}) => any;
footer?: () => any;
}> & {
workspace?: () => any;
'item-icon'?: (props: {
item: SidebarNavItem;
active: boolean;
}) => any;
footer?: () => any;
};
}) & import('vue').Plugin;
export { SidebarNav, TxSidebarNav };
export { useIndicatorBox } from '../packages/tuffex/packages/utils/use-indicator-box';
export type { IndicatorBox, UseIndicatorBoxOptions, UseIndicatorBoxReturn } from '../packages/tuffex/packages/utils/use-indicator-box';
export type { SidebarNavEmits, SidebarNavGroup, SidebarNavItem, SidebarNavItemAction, SidebarNavProps, SidebarNavValue, SidebarNavWorkspace, };
export type TxSidebarNavInstance = InstanceType;
export default SidebarNav;