import { SvelteComponent } from "svelte";
import type { IconName } from '../types/iconTypes';
declare const __propDef: {
    props: {
        /**
             * The label for the tab, displayed as the tab's text.
             * @type {string}
             */ label: string;
        /**
             * An optional icon to display on the tab.
             * If not provided, no icon will be shown.
             * @type {IconName | null}
             * @default null
             */ icon?: IconName | null;
        /**
             * An optional badge to display on the tab.
             * If not provided, no badge will be shown.
             * @type {object | null}
             * @default null
             */ badge?: {
            label: string;
            type?: "circle" | "rectangle";
            size?: "sm" | "lg";
            color?: "base" | "stone" | "emerald" | "blue" | "rose" | "sky" | "amber";
            contrast?: boolean;
        } | null;
        /**
             * Indicates whether the tab is currently active.
             * This affects the styling of the tab.
             * @type {boolean}
             * @default false
             */ isActive?: boolean;
        /**
             * A callback function to be executed when the tab is clicked.
             * @type {() => void}
             */ onClick: () => void;
        /**
             * Indicates whether the tab is disabled and non-interactive.
             * @type {boolean}
             * @default false
             */ disabled?: boolean;
    };
    events: {
        tabMounted: CustomEvent<any>;
    } & {
        [evt: string]: CustomEvent<any>;
    };
    slots: {};
    exports?: {};
    bindings?: string;
};
export type TabProps = typeof __propDef.props;
export type TabEvents = typeof __propDef.events;
export type TabSlots = typeof __propDef.slots;
export default class Tab extends SvelteComponent<TabProps, TabEvents, TabSlots> {
}
export {};
