import { HTMLAttributes, MouseEvent, ReactNode } from 'react';
export interface TabsItem {
children: ReactNode;
id?: string;
label: string;
}
interface Compressed {
/** If provided, alters the appearance of the tabs */
feType: 'compressed';
}
interface Expanded {
/** If true, removes the border */
feNoBorder?: boolean;
/** If true, removes the (right, bottom & left) padding */
feNoPadding?: boolean;
/** If provided, alters the appearance of the tabs */
feType: 'expanded';
}
interface BaseProps extends Omit, 'onClick'> {
/** If provided, set the default selected tab */
feDefaultSelected?: number;
/** Array of tab-items */
feItems: TabsItem[];
/** If true, disables scroll. **Notice!** Only applicable together with the `feStretch` property. */
feNoScroll?: boolean;
/** If provided, this tab will be selected when the component mounts. Also sets the component as 'controlled'. **Notice!** Don't use feDefaultSelected when setting this. */
feSelected?: number;
/** If true, the Tabs component fills the parent element height */
feStretch?: boolean;
/** Called whenever a tab is clicked */
onClick?: (event: MouseEvent, index: number) => void;
}
export type TabsProps = BaseProps & (Compressed | Expanded);
/**
* The `` component can be used to divide content into meaningful sections to occupy less screen space.
*
* See [InVision DSM](https://skf.invisionapp.com/dsm/ab-skf/4-web-applications/nav/5fa7caf78c01200018354495/asset/619e56ce4440ff2ed575e3e7) for design principles.
*/
declare const Tabs: import("react").ForwardRefExoticComponent>;
export default Tabs;