import { ConfigOptionType, ExtractValueType, OptionValueType } from '../../types';
declare const _default: <Option extends OptionValueType, Config extends ConfigOptionType<Option>, Model extends ExtractValueType<Option, Config>>(__VLS_props: {
    readonly onChange?: ((payload: Option) => any) | undefined;
    options?: Option[] | undefined;
    modelValue?: Model | undefined;
    readonly "onUpdate:modelValue"?: ((payload: Model) => any) | undefined;
    config?: Config | undefined;
    tabTitle?: string | undefined;
    tabsTitle?: string | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, __VLS_ctx?: {
    attrs: any;
    slots: Partial<Record<NonNullable<"" | Model>, (_: {}) => any>> & {
        "tab-label"?(_: {
            option: import('../../types').OptionMappedType<Option, Config>;
        }): any;
        "tab-label-icon"?(_: {
            option: import('../../types').OptionMappedType<Option, Config>;
        }): any;
        "tab-label-text"?(_: {
            option: Option;
        }): any;
    };
    emit: {
        (e: 'change', payload: Option): void;
        (e: 'update:modelValue', payload: Model): void;
    };
} | undefined, __VLS_expose?: ((exposed: import('vue').ShallowUnwrapRef<{}>) => void) | undefined, __VLS_setup?: Promise<{
    props: {
        readonly onChange?: ((payload: Option) => any) | undefined;
        options?: Option[] | undefined;
        modelValue?: Model | undefined;
        readonly "onUpdate:modelValue"?: ((payload: Model) => any) | undefined;
        config?: Config | undefined;
        tabTitle?: string | undefined;
        tabsTitle?: string | undefined;
    } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
    expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: Partial<Record<NonNullable<"" | Model>, (_: {}) => any>> & {
        "tab-label"?(_: {
            option: import('../../types').OptionMappedType<Option, Config>;
        }): any;
        "tab-label-icon"?(_: {
            option: import('../../types').OptionMappedType<Option, Config>;
        }): any;
        "tab-label-text"?(_: {
            option: Option;
        }): any;
    };
    emit: {
        (e: 'change', payload: Option): void;
        (e: 'update:modelValue', payload: Model): void;
    };
}>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}> & {
    __ctx?: {
        props: {
            readonly onChange?: ((payload: Option) => any) | undefined;
            options?: Option[] | undefined;
            modelValue?: Model | undefined;
            readonly "onUpdate:modelValue"?: ((payload: Model) => any) | undefined;
            config?: Config | undefined;
            tabTitle?: string | undefined;
            tabsTitle?: string | undefined;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
        expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
        attrs: any;
        slots: Partial<Record<NonNullable<"" | Model>, (_: {}) => any>> & {
            "tab-label"?(_: {
                option: import('../../types').OptionMappedType<Option, Config>;
            }): any;
            "tab-label-icon"?(_: {
                option: import('../../types').OptionMappedType<Option, Config>;
            }): any;
            "tab-label-text"?(_: {
                option: Option;
            }): any;
        };
        emit: {
            (e: 'change', payload: Option): void;
            (e: 'update:modelValue', payload: Model): void;
        };
    } | undefined;
};
export default _default;
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
