import React, { ReactElement } from "react";
import { TabProps } from "./tab";
export declare enum TabSizes {
    XS = "xs",
    SM = "sm",
    MD = "md",
    LG = "lg"
}
export type TabSize = `${TabSizes}`;
/**
 * Props for the Tabs component.
 */
export interface TabsProps {
    /**
     * Active tab index. Tab index starts from 0.
     */
    activeIndex?: number;
    /**
     * Default active tab index, to be used with the uncontrolled version of the Tabs component.
     * @default 0
     */
    defaultActiveIndex?: number;
    /**
     * Dynamically updates the className applied to the component.
     */
    className?: string;
    /**
     * Renders all the tabs at once and switches between them using CSS.
     * @default false
     */
    switchUsingCss?: boolean;
    /**
     * Called on click of a tab header.
     * @param selectedTabId {number} Selected tab id.
     */
    onSelect?: (selectedTabId: number) => void;
    /**
     * Array of items to be displayed in the Tabs,
     * each item should be wrapped in Tabs.Tab component
     * @required
     * @example
     * ```tsx
     * <Tabs>
     *  <Tabs.Tab title="Tab 1">
     *   Content of Tab 1
     *  </Tabs.Tab>
     * </Tabs>
     * ```
     */
    children: ReactElement<TabProps> | Array<ReactElement<TabProps> | boolean> | boolean;
    /**
     * Size of the tab.
     * @default md
     */
    size?: TabSize;
    /**
     * Variant of the tab.
     * @default filled
     */
    variant?: "filled" | "text";
    /**
     * Color of the tab. Only applicable for filled variant.
     */
    color?: "primary" | "secondary";
}
export declare const Tabs: {
    ({ className, children, activeIndex, defaultActiveIndex, switchUsingCss, onSelect, size, variant, color }: TabsProps): ReactElement | null;
    Tab: ({ children, className }: TabProps) => React.ReactElement;
};
