import { EpPropFinalized, EpPropMergeType } from "../../../utils/vue/props/types.js"; import { Awaitable } from "../../../utils/typescript.js"; import "../../../utils/index.js"; import { TabPaneName, TabsPaneContext } from "./constants.js"; import { TabNavInstance } from "./tab-nav.js"; import * as vue from "vue"; import { ExtractPropTypes, ExtractPublicPropTypes, VNode } from "vue"; import * as vue_jsx_runtime0 from "vue/jsx-runtime"; //#region ../../packages/components/tabs/src/tabs.d.ts declare const tabsProps: { readonly type: EpPropFinalized; readonly closable: BooleanConstructor; readonly addable: BooleanConstructor; readonly modelValue: { readonly type: vue.PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly defaultValue: { readonly type: vue.PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly editable: BooleanConstructor; readonly tabPosition: EpPropFinalized; readonly beforeLeave: EpPropFinalized<(new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | { (): (newName: TabPaneName, oldName: TabPaneName) => Awaitable; new (): any; readonly prototype: any; } | (((new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | { (): (newName: TabPaneName, oldName: TabPaneName) => Awaitable; new (): any; readonly prototype: any; }) | null)[], unknown, unknown, () => true, boolean>; readonly stretch: BooleanConstructor; readonly tabindex: EpPropFinalized; }; type TabsProps = ExtractPropTypes; type TabsPropsPublic = ExtractPublicPropTypes; declare const tabsEmits: { "update:modelValue": (name: TabPaneName) => name is string | number; tabClick: (pane: TabsPaneContext, ev: Event) => boolean; tabChange: (name: TabPaneName) => name is string | number; edit: (paneName: TabPaneName | undefined, action: "remove" | "add") => boolean; tabRemove: (name: TabPaneName) => name is string | number; tabAdd: () => boolean; }; type TabsEmits = typeof tabsEmits; type TabsPanes = Record; declare const Tabs: vue.DefineComponent; readonly closable: BooleanConstructor; readonly addable: BooleanConstructor; readonly modelValue: { readonly type: vue.PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly defaultValue: { readonly type: vue.PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly editable: BooleanConstructor; readonly tabPosition: EpPropFinalized; readonly beforeLeave: EpPropFinalized<(new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | { (): (newName: TabPaneName, oldName: TabPaneName) => Awaitable; new (): any; readonly prototype: any; } | (((new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | { (): (newName: TabPaneName, oldName: TabPaneName) => Awaitable; new (): any; readonly prototype: any; }) | null)[], unknown, unknown, () => true, boolean>; readonly stretch: BooleanConstructor; readonly tabindex: EpPropFinalized; }>, () => vue_jsx_runtime0.JSX.Element, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, { "update:modelValue": (name: TabPaneName) => name is string | number; tabClick: (pane: TabsPaneContext, ev: Event) => boolean; tabChange: (name: TabPaneName) => name is string | number; edit: (paneName: TabPaneName | undefined, action: "remove" | "add") => boolean; tabRemove: (name: TabPaneName) => name is string | number; tabAdd: () => boolean; }, string, vue.PublicProps, Readonly; readonly closable: BooleanConstructor; readonly addable: BooleanConstructor; readonly modelValue: { readonly type: vue.PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly defaultValue: { readonly type: vue.PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly editable: BooleanConstructor; readonly tabPosition: EpPropFinalized; readonly beforeLeave: EpPropFinalized<(new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | { (): (newName: TabPaneName, oldName: TabPaneName) => Awaitable; new (): any; readonly prototype: any; } | (((new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | { (): (newName: TabPaneName, oldName: TabPaneName) => Awaitable; new (): any; readonly prototype: any; }) | null)[], unknown, unknown, () => true, boolean>; readonly stretch: BooleanConstructor; readonly tabindex: EpPropFinalized; }>> & Readonly<{ "onUpdate:modelValue"?: ((name: TabPaneName) => any) | undefined; onTabClick?: ((pane: { uid: number; getVnode: () => VNode; slots: vue.Slots; props: { label?: string | undefined; name?: (string | number) | undefined; closable?: boolean | undefined; disabled?: boolean | undefined; lazy?: boolean | undefined; }; paneName: TabPaneName | undefined; active: boolean; index: string | undefined; isClosable: boolean; isFocusInsidePane: () => boolean | undefined; }, ev: Event) => any) | undefined; onTabChange?: ((name: TabPaneName) => any) | undefined; onEdit?: ((paneName: TabPaneName | undefined, action: "remove" | "add") => any) | undefined; onTabRemove?: ((name: TabPaneName) => any) | undefined; onTabAdd?: (() => any) | undefined; }>, { readonly type: EpPropMergeType; readonly tabindex: EpPropMergeType; readonly stretch: boolean; readonly closable: boolean; readonly editable: boolean; readonly tabPosition: EpPropMergeType; readonly beforeLeave: (newName: TabPaneName, oldName: TabPaneName) => Awaitable; readonly addable: boolean; }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>; type TabsInstance = InstanceType & { currentName: TabPaneName; tabNavRef: TabNavInstance | undefined; }; //#endregion export { Tabs, TabsEmits, TabsInstance, TabsPanes, TabsProps, TabsPropsPublic, tabsEmits, tabsProps };