import { ExtractPropTypes } from 'vue'; import { ITabsVm, ITabsProps } from '../tabs'; import { ISharedRenderlessFunctionParams, ISharedRenderlessParamUtils } from '../../../../types/shared.type'; import { computedNavStyle, scrollIntoView, computedSizeName, updated, mounted, beforeUnmount, visibilityChangeHandler, windowBlurHandler, windowFocusHandler, scrollToActiveTab, scrollPrev, scrollNext, changeTab, setFocus, removeFocus, moreTabShow, expandTabShow, expandTabHide, computedHeaderStyle, handleTabDragStart, handleTabDragEnd, sortableEvent, watchCurrentName } from './renderless'; export type { ISharedRenderlessParamHooks } from '../../../../types/shared.type'; export declare const tabNavProps: { panes: { type: ArrayConstructor; default: () => never[]; }; currentName: StringConstructor; activeColor: { type: StringConstructor; default: string; }; onTabClick: { type: FunctionConstructor; default: () => void; }; onTabRemove: { type: FunctionConstructor; default: () => void; }; showExpandTabs: BooleanConstructor; expandPanesWidth: { type: StringConstructor; default: string; }; expandTabsTitle: { type: StringConstructor; default: string; }; expandTabsMode: { type: StringConstructor; default: string; }; stretch: { type: BooleanConstructor; default: boolean; }; }; export type ITabNavProps = { _mode: string; } & ExtractPropTypes & ITabsProps; interface ITabNavStyle { } interface ITabLineStyle { width: number; offset: number; } interface ITabNavScrollable { prev: number; next: boolean; } export interface ITabNavState { dragging: boolean; navOffset: number; lineStyle: ITabLineStyle; scrollable: boolean | ITabNavScrollable; isFocus: boolean; focusable: boolean; showMoreItem: boolean; isActive: boolean; showMoreTabs: boolean; showExpandItem: boolean; showExpandTabs: boolean; expandHeaderStyle: {}; mode: string; rootTabs: ITabsVm; sizeName: string; navStyle: ITabNavStyle; navSortableObj: object; separator: boolean | null; } export interface ITabNavApi { state: ITabNavState; setFocus: ReturnType; removeFocus: ReturnType; moreTabShow: ReturnType; expandTabShow: ReturnType; expandTabHide: ReturnType; scrollPrev: ReturnType; scrollNext: ReturnType; windowBlurHandler: ReturnType; windowFocusHandler: ReturnType; visibilityChangeHandler: ReturnType; scrollToActiveTab: ReturnType; scrollIntoView: ReturnType; computedHeaderStyle: ReturnType; watchCurrentName: ReturnType; handleTabDragStart: ReturnType; handleTabDragEnd: ReturnType; sortableEvent: ReturnType; computedSizeName: typeof computedSizeName; computedNavStyle: typeof computedNavStyle; beforeUnmount: typeof beforeUnmount; mounted: typeof mounted; changeTab: ReturnType; updated: ReturnType; } export type ITabNavRenderlessParamUtils = ISharedRenderlessParamUtils; export type ITabNavRenderlessParams = ISharedRenderlessFunctionParams & { state: ITabNavState; props: ITabNavProps; api: ITabNavApi; rootTabs: ITabsVm; };