import React from 'react';
export declare type ScrollLocation = 'start' | 'end';
export interface TabContextValue {
    selectedTab?: string;
    onTabChange?: (tabId: string) => void;
    registerTab?: (tabId: string, element: HTMLElement) => void;
    unregisterTab?: (tabId: string) => void;
    railRef?: React.RefObject<HTMLDivElement>;
}
export interface TabsStructureProps {
    children?: React.ReactNode;
    className?: string;
    /** 当前选中的tab */
    selectedTab?: string;
    /** tab变更回调 */
    onTabChange?: (tabId: string) => void;
    /** 是否启用自动滚动到选中tab */
    autoScrollToSelected?: boolean;
    /** Rail组件的ref，用于手动控制滚动等操作 */
    railRef?: React.RefObject<HTMLDivElement>;
    [key: string]: any;
}
export interface TabListContainerProps {
    children?: React.ReactNode;
    className?: string;
    [key: string]: any;
}
export interface TabItemProps {
    children?: React.ReactNode;
    isSelected?: boolean;
    isDisabled?: boolean;
    className?: string;
    onClick?: (key?: string) => void;
    /** Tab的唯一标识符 */
    tabId?: string;
    /** 是否自动注册到上下文 */
    autoRegister?: boolean;
    [key: string]: any;
}
export interface RailProps {
    children?: React.ReactNode;
    className?: string;
    [key: string]: any;
}
export interface SelectionIndicatorProps {
    focusRingClasses?: string;
    isFocusVisible?: boolean;
    style?: React.CSSProperties;
    className?: string;
    [key: string]: any;
}
export interface ScrollShadowProps {
    location: ScrollLocation;
    visible: boolean;
    className?: string;
    [key: string]: any;
}
export interface ChevronButtonProps {
    direction: 'prev' | 'next';
    disabled?: boolean;
    onClick?: () => void;
    className?: string;
    'aria-label'?: string;
    [key: string]: any;
}
export interface ChevronControlsProps {
    isPrevDisabled?: boolean;
    isNextDisabled?: boolean;
    onPrevClick?: () => void;
    onNextClick?: () => void;
    className?: string;
    prevAction?: () => void;
    nextAction?: () => void;
    [key: string]: any;
}
export interface TabWrapperClasses {
    wrapper: string;
}
export interface TabListClasses {
    list: string;
}
export interface TabItemClasses {
    item: string;
    selected: string;
    disabled: string;
}
export interface RailClasses {
    rail: string;
}
export interface SelectionClasses {
    selection: string;
    position: string;
    focused: string;
}
export interface ShadowClasses {
    shadow: string;
    isVisible: string;
    locationStart: string;
    locationEnd: string;
}
export interface ChevronClasses {
    controls: string;
    button: string;
    disabled: string;
}
