import { PropType, ComponentInternalInstance } from "vue";
interface tabItem {
    name: string;
    value: string;
    $ref: ComponentInternalInstance | Element | null;
}
declare const _default: import("vue").DefineComponent<{
    styles: {
        type: ObjectConstructor;
        default: () => {};
    };
    source: {
        type: PropType<tabItem[]>;
        default: () => never[];
    };
    modelValue: {
        type: (StringConstructor | NumberConstructor)[];
        default: string;
    };
    slotKey: {
        type: StringConstructor;
        default: string;
    };
    className: {
        type: StringConstructor;
        default: string;
    };
    border: {
        type: BooleanConstructor;
        default: boolean;
    };
    control: {
        type: BooleanConstructor;
        default: boolean;
    };
    keyConfig: ObjectConstructor;
}, {
    emit: (event: "click" | "update:modelValue" | "change", ...args: any[]) => void;
    valueKey: string;
    labelKey: string;
    tabActive: import("vue").Ref<string | number>;
    clickTab: (item: tabItem) => void;
    sourceMap: import("vue").ComputedRef<Record<string, tabItem>>;
    slotName: (item: tabItem) => string;
    prevTab: () => void;
    nextTab: () => void;
    slots: Readonly<{
        [name: string]: import("vue").Slot | undefined;
    }>;
    itemHasSlot: (item: tabItem) => boolean;
    hasDefaultSlot: import("vue").Slot | undefined;
    slotContent: import("vue").Slot | undefined;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "update:modelValue" | "change")[], "click" | "update:modelValue" | "change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
    styles?: unknown;
    source?: unknown;
    modelValue?: unknown;
    slotKey?: unknown;
    className?: unknown;
    border?: unknown;
    control?: unknown;
    keyConfig?: unknown;
} & {
    styles: Record<string, any>;
    modelValue: string | number;
    source: tabItem[];
    border: boolean;
    slotKey: string;
    className: string;
    control: boolean;
} & {
    keyConfig?: Record<string, any> | undefined;
}> & {
    onClick?: ((...args: any[]) => any) | undefined;
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    onChange?: ((...args: any[]) => any) | undefined;
}, {
    styles: Record<string, any>;
    modelValue: string | number;
    source: tabItem[];
    border: boolean;
    slotKey: string;
    className: string;
    control: boolean;
}>;
export default _default;
