import { TabOption } from './types';
/**
 * A component for selecting one value from a list of options
 */
declare const _default: <M extends string>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
    props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
        readonly "onUpdate:modelValue"?: ((value: M) => any) | undefined;
    } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:modelValue"> & {
        /**
         * The current selected tab value.
         */
        modelValue?: M;
        /**
         * List of available options for the component
         */
        options: Readonly<TabOption<M>[]>;
        /**
         * If `true`, the component is disabled and cannot be interacted with.
         */
        disabled?: boolean;
        /**
         * If `true`, the `active` line appears on the top of element.
         */
        topLine?: boolean;
        /**
         * Maximum tab width (css value), can be overridden for each option
         */
        maxTabWidth?: string;
    } & Partial<{}>> & import('vue').PublicProps;
    expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: Partial<Record<M, (_: {
        option: TabOption<M>;
    }) => any>>;
    emit: (e: "update:modelValue", value: M) => void;
}>) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
    [key: string]: any;
}> & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
