import type { VueComponent } from '@/types';
import { type TabsProps as PrimeTabsProps } from 'primevue/tabs';
import { type BadgeProps } from '../../custom';
export interface TabItem {
    title: string;
    icon?: VueComponent;
    badge?: BadgeProps;
    as?: VueComponent;
    value?: string;
}
export type TabsProps = Omit<PrimeTabsProps, 'value'> & {
    tabs: TabItem[];
    fill?: boolean;
    modelValue?: number;
    noPanels?: boolean;
    fluid?: boolean;
    bold?: boolean;
};
type __VLS_Props = TabsProps;
type __VLS_ModelProps = {
    modelValue?: number;
};
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
declare var __VLS_48: `tab-${number}`, __VLS_49: {};
type __VLS_Slots = {} & {
    [K in NonNullable<typeof __VLS_48>]?: (props: typeof __VLS_49) => any;
};
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:modelValue": (value: number) => any;
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
    "onUpdate:modelValue"?: ((value: number) => any) | undefined;
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
