import { PropType, Ref, DefineComponent, ExtractPropTypes, VNode, RendererNode, RendererElement, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { Tab } from './interface';
export interface TabContextProps {
    tabs: Ref<Tab[]>;
    prefixCls: Ref<string>;
}
export declare const useProvideTabs: (props: TabContextProps) => void;
export declare const useInjectTabs: () => TabContextProps;
declare const TabsContextProvider: DefineComponent<ExtractPropTypes<{
    tabs: {
        type: PropType<TabContextProps["tabs"]>;
        default: undefined;
    };
    prefixCls: {
        type: StringConstructor;
        default: undefined;
    };
}>, () => VNode<RendererNode, RendererElement, {
    [key: string]: any;
}>[] | undefined, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
    tabs: {
        type: PropType<TabContextProps["tabs"]>;
        default: undefined;
    };
    prefixCls: {
        type: StringConstructor;
        default: undefined;
    };
}>> & Readonly<{}>, {
    prefixCls: string;
    tabs: Ref<Tab[], Tab[]>;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export default TabsContextProvider;
