import { type CSSProperties, type HTMLAttributes, type ReactNode } from 'react'; type CurvedTabsRenderState = { active: boolean; }; type CurvedTabsTriggerChildren = ReactNode | ((state: CurvedTabsRenderState) => ReactNode); type CurvedTabsTriggerProps = { ariaLabel?: string; children?: CurvedTabsTriggerChildren; disabled?: boolean; href?: string; label?: ReactNode; name: string; onSelect?: (name: string) => void; }; type CurvedTabsRoute = { key?: string; name: string; }; type CurvedTabsNavigationEvent = { canPreventDefault: true; target?: string; type: 'tabPress'; }; type CurvedTabsNavigation = { emit?: (event: CurvedTabsNavigationEvent) => { defaultPrevented?: boolean; } | void; navigate?: (name: string) => void; }; type CurvedTabsState = { index: number; routes: readonly CurvedTabsRoute[]; }; type CurvedTabsListProps = { children?: ReactNode; }; type CurvedTabsIndicatorProps = Record; type CurvedTabsStyle = CSSProperties & { '--curved-tabs-active-color'?: string; '--curved-tabs-bar-height'?: string; '--curved-tabs-bead-color'?: string; '--curved-tabs-focus-color'?: string; '--curved-tabs-icon-box'?: string; '--curved-tabs-idle-color'?: string; '--curved-tabs-pill-color'?: string; '--curved-tabs-pill-height'?: string; '--curved-tabs-surface-color'?: string; '--curved-tabs-surface-opacity'?: number; '--curved-tabs-surface-stroke'?: string; '--curved-tabs-thickness'?: string; }; type CurvedTabsProps = { activeColor?: string; arcHeight?: number; ariaLabel?: string; animationDistanceCoefficient?: number; beadColor?: string; defaultValue?: string; disabled?: boolean; dragEnabled?: boolean; edgePadding?: number; focusColor?: string; iconBox?: number; idleColor?: string; maxPillWidth?: number; navigation?: CurvedTabsNavigation; onValueChange?: (value: string, trigger: CurvedTabsTriggerConfig) => void; pillColor?: string; pillHeight?: number; showBeads?: boolean; state?: CurvedTabsState; style?: CurvedTabsStyle; surfaceColor?: string; surfaceOpacity?: number; surfaceStrokeColor?: string; thickness?: number; value?: string; } & Omit, 'children' | 'defaultValue' | 'onChange' | 'style'> & { children?: ReactNode; }; type CurvedTabsTriggerConfig = { ariaLabel?: string; disabled?: boolean; href?: string; label: ReactNode; name: string; onSelect?: (name: string) => void; render?: (state: CurvedTabsRenderState) => ReactNode; routeKey?: string; }; type CurvedTabsComponent = ((props: CurvedTabsProps) => ReactNode) & { Indicator: typeof CurvedTabsIndicator; List: typeof CurvedTabsList; Trigger: typeof CurvedTabsTrigger; }; declare const CurvedTabsTrigger: { (_props: CurvedTabsTriggerProps): null; __curvedTabsRole: "trigger"; }; declare const CurvedTabsIndicator: { (_props: CurvedTabsIndicatorProps): null; __curvedTabsRole: "indicator"; }; declare const CurvedTabsList: { (_props: CurvedTabsListProps): null; __curvedTabsRole: "list"; }; declare const CurvedTabs: CurvedTabsComponent; export { CurvedTabs }; export type { CurvedTabsNavigation, CurvedTabsNavigationEvent, CurvedTabsProps, CurvedTabsRenderState, CurvedTabsRoute, CurvedTabsState, CurvedTabsTriggerConfig, CurvedTabsTriggerProps, };