import type { PropType, ExtractPropTypes } from 'vue';
import type { Arrayable, ComponentSize, IAuth, JSXElement } from '../../_utils/types';
export declare const _props: {
    modelValue: {
        type: PropType<string | number>;
    };
    size: {
        type: PropType<ComponentSize>;
        validator: (val: string) => boolean;
    };
    class: {
        type: PropType<string | Arrayable<Record<string, boolean>>>;
    };
    authConfig: {
        type: PropType<{
            fieldList?: IAuth[] | undefined;
        }>;
    };
    lazyLoad: {
        type: BooleanConstructor;
        default: boolean;
    };
    tabBarExtraContent: {
        type: PropType<string | JSXElement>;
        validator: (val: any) => boolean;
    };
    type: {
        readonly type: PropType<"" | "card" | "border-card">;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "";
    };
    closable: BooleanConstructor;
    addable: BooleanConstructor;
    editable: BooleanConstructor;
    tabPosition: {
        readonly type: PropType<"top" | "bottom" | "left" | "right">;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "top";
    };
    beforeLeave: {
        readonly type: PropType<(newName: import("element-plus").TabPaneName, oldName: import("element-plus").TabPaneName) => boolean | void | Promise<boolean | void>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => true;
    };
    stretch: BooleanConstructor;
};
export declare const _paneProps: {
    label: {
        readonly type: PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "";
    };
    name: {
        readonly type: PropType<string | number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    closable: BooleanConstructor;
    disabled: BooleanConstructor;
    lazy: BooleanConstructor;
};
export declare const _emits: {
    "update:modelValue": (value: string | number) => boolean;
    tabClick: (ctx: any, ev: MouseEvent) => boolean;
    tabChange: (name: string) => boolean;
    edit: (name: string, action: 'remove' | 'add') => boolean;
};
export type TabsProps = ExtractPropTypes<typeof _props>;
export type TabPaneProps = ExtractPropTypes<typeof _paneProps>;
export type TabsEmits = typeof _emits;
