import type { PropType, VNode } from 'vue';
import type { ExtractPublicPropTypes } from '../_util/interface';
import type { Position, TabCloseMode, TabDisplayDirective, Value } from './interface';
type TabType = 'line' | 'card';
type TabPaneProps = TabProps & {
    render?: (props: TabProps) => VNode[];
    renderTab?: (props: TabProps) => VNode[];
};
export declare const tabsProps: {
    readonly modelValue: PropType<Value>;
    readonly position: {
        readonly type: PropType<Position>;
        readonly default: "top";
    };
    readonly type: {
        readonly type: PropType<TabType>;
        readonly default: "line";
    };
    readonly closable: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly closeMode: {
        readonly type: PropType<TabCloseMode>;
        readonly default: "visible";
    };
    readonly addable: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly transition: {
        readonly type: PropType<string | boolean>;
        readonly default: true;
    };
    readonly panes: {
        readonly type: PropType<TabPaneProps>;
        readonly default: () => TabPaneProps[];
    };
};
export type TabsProps = ExtractPublicPropTypes<typeof tabsProps>;
export declare const tabProps: {
    readonly value: {
        readonly type: PropType<string | number>;
        readonly required: true;
    };
    readonly name: PropType<string | number>;
    readonly disabled: BooleanConstructor;
    readonly closable: {
        readonly type: PropType<boolean>;
        readonly default: null;
    };
    readonly displayDirective: {
        readonly type: PropType<TabDisplayDirective>;
        readonly default: "if";
    };
};
export type TabProps = ExtractPublicPropTypes<typeof tabProps>;
export {};
