import { ComponentProps, ReactNode } from 'react'; import { Tabs as TabsPrimitive } from '@base-ui/react/tabs'; import { VariantProps } from 'class-variance-authority'; import { ClassProp } from 'class-variance-authority/types'; declare function SegmentedControl({ className, ...props }: TabsPrimitive.Root.Props): ReactNode; interface SegmentedControlSizeVariantProps { size?: 'small' | 'default' | null; } declare const segmentedControlListVariants: (props?: (SegmentedControlSizeVariantProps & ClassProp) | undefined) => string; type SegmentedControlSize = NonNullable['size']>; type SegmentedControlListProps = TabsPrimitive.List.Props & VariantProps; declare function SegmentedControlList({ className, size, children, ...props }: SegmentedControlListProps): ReactNode; declare const segmentedControlIndicatorVariants: (props?: (SegmentedControlSizeVariantProps & ClassProp) | undefined) => string; type SegmentedControlIndicatorProps = ComponentProps<'div'> & VariantProps & { activeSelector?: string; }; declare function SegmentedControlIndicator({ className, size, activeSelector, style, ...props }: SegmentedControlIndicatorProps): ReactNode; interface SegmentedControlButtonVariantProps extends SegmentedControlSizeVariantProps { tabContent?: 'icon-label' | 'label-only' | 'icon-only' | null; } declare const segmentedControlButtonVariants: (props?: (SegmentedControlButtonVariantProps & ClassProp) | undefined) => string; type SegmentedControlButtonProps = TabsPrimitive.Tab.Props & VariantProps; declare function SegmentedControlButton({ className, size, tabContent, ...props }: SegmentedControlButtonProps): ReactNode; declare function SegmentedControlContent({ className, ...props }: TabsPrimitive.Panel.Props): ReactNode; export { SegmentedControl, SegmentedControlButton, SegmentedControlContent, SegmentedControlIndicator, SegmentedControlList, segmentedControlButtonVariants, segmentedControlIndicatorVariants, segmentedControlListVariants, }; export type { SegmentedControlSize };