import type React from 'react';
import { type CSSProperties } from 'react';
import { type BezierComponentProps, type ChildrenProps, type DisableProps, type SizeProps } from "../../types/props";
export type TabSize = 'l' | 'm' | 's';
export interface TabListContextValue {
size: TabSize;
}
interface TabsOwnProps {
/**
* When automatic, tabs are activated when receiving focus.
* When manual, tabs are activated when clicked.
* @default automatic
*/
activationMode?: 'automatic' | 'manual';
/**
* Use when you do not need to control the state of the component.
*/
defaultValue?: string;
/**
* The controlled value of the tab to activate.
*/
value?: string;
/**
* Event handler called when value is changed.
*/
onValueChange?: (value: string) => void;
}
interface TabActionOwnProps {
/**
* TabAction acts as a link when href is given, otherwise as a button.
*/
href?: Link;
/**
* Event handler called when tab action is clicked.
*/
onClick?: Link extends string ? never : React.MouseEventHandler;
}
interface TabItemOwnProps {
/**
* A unique value that associates the trigger with a content.
*/
value: string;
maxWidth?: CSSProperties['maxWidth'];
}
interface TabContentOwnProps {
/**
* A unique value that associates the trigger with a content.
*/
value: string;
}
export interface TabsProps extends Omit, keyof TabsOwnProps>, ChildrenProps, TabsOwnProps {
}
export interface TabListProps extends BezierComponentProps<'div'>, ChildrenProps, SizeProps {
}
export interface TabItemsProps extends BezierComponentProps<'div'>, ChildrenProps {
}
export interface TabItemProps extends Omit, keyof TabItemOwnProps>, ChildrenProps, DisableProps, TabItemOwnProps {
}
export interface TabActionsProps extends BezierComponentProps<'div'>, ChildrenProps {
}
export type TabActionElement = [Link] extends [string] ? HTMLAnchorElement : HTMLButtonElement;
export interface TabActionProps extends Omit>, ChildrenProps, TabActionOwnProps, Omit>, 'onClick'> {
}
export interface TabContentProps extends BezierComponentProps<'div'>, ChildrenProps, TabContentOwnProps {
}
export {};
//# sourceMappingURL=Tabs.types.d.ts.map