import { AccessibilityProps, KeyboardHandlerMap } from '../shared/index.js';

interface TabsProps {
    /** The active tab value (controlled) */
    value?: string;
    /** The default active tab value (uncontrolled) */
    defaultValue?: string;
    /** Callback when active tab changes */
    onValueChange?: (value: string) => void;
    /** Orientation of the tab list */
    orientation?: 'horizontal' | 'vertical';
}
interface TabsState {
    activeValue: string;
}
interface TabsAPI {
    /** Current tabs state */
    state: TabsState;
    /** ARIA attributes for the tab list */
    listProps: Partial<AccessibilityProps> & Record<string, unknown>;
    /** Factory for individual tab trigger props */
    getTabProps(value: string): Partial<AccessibilityProps> & Record<string, unknown>;
    /** Factory for individual tab panel props */
    getPanelProps(value: string): Partial<AccessibilityProps> & Record<string, unknown>;
    /** Select a tab by value */
    select(value: string): void;
    /** Keyboard handlers for the tab list */
    keyboardHandlers: KeyboardHandlerMap;
    /** Generated ID prefix for aria linking */
    idPrefix: string;
}
declare function createTabs(props?: TabsProps): TabsAPI;

declare const tabsListVariants: (props?: ({
    [x: string]: string | undefined;
} & {
    className?: string;
}) | undefined) => string;
declare const tabsTriggerVariants: (props?: ({
    [x: string]: string | undefined;
} & {
    className?: string;
}) | undefined) => string;

export { type TabsAPI, type TabsProps, type TabsState, createTabs, tabsListVariants, tabsTriggerVariants };
