import { type HTMLAttributes, type ReactElement, type ReactNode } from 'react';
import type { Except } from 'type-fest';
import '../styles/components/tabs.scss';
type TabProps = {
    /**
     * Title of that tab
     */
    title: ReactNode;
    /**
     * Optional ID for that tab, one of the expected options for the parent <Tabs> component
     */
    id?: string;
    /**
     * Content of that tab
     */
    children?: ReactNode;
    /**
     * Choose that tab as the default to be displayed
     */
    defaultSelected?: boolean;
    /**
     * Option to render and hide tab (display:none) rather than remove from the DOM
     */
    cache?: boolean;
    /**
     * Option to disable selection of tab
     */
    disabled?: boolean;
} & Except<HTMLAttributes<HTMLDivElement>, 'title' | 'id'>;
export declare const Tab: (_: TabProps) => any;
type TabsProps = {
    /**
     * <Tab> elements defining the content and title of each tab
     */
    children: Array<ReactElement<TabProps> | null> | ReactElement<TabProps> | null;
    /**
     * Optional way of controling the tabs from the outside of this component by
     * assigning here a value corresponding to an 'id' prop of one of the child
     * <Tab>
     */
    active?: string | number;
    /**
     * Optional bordered styling of tab headers
     */
    bordered?: boolean;
} & Except<HTMLAttributes<HTMLDivElement>, 'children'>;
export declare const Tabs: ({ children, active, className, bordered, ...props }: TabsProps) => import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=tabs.d.ts.map