import * as react_jsx_runtime from 'react/jsx-runtime';

declare function viewSegmentedToolbarClass(className?: string): string;
declare function viewSegmentedButtonClass(isActive: boolean, opts?: {
    iconOnly?: boolean;
}): string;
interface ViewSegmentOption<T extends string = string> {
    value: T;
    label: string;
    /** Full `className` for Font Awesome icon (e.g. `fa-light fa-chart-bar`) */
    icon?: string;
}
interface ViewSegmentedControlProps<T extends string = string> {
    value: T;
    onValueChange: (value: T) => void;
    options: readonly ViewSegmentOption<T>[];
    /** Accessible name for the group (required — names the radiogroup) */
    "aria-label": string;
    /** Optional description id for `aria-describedby` (e.g. helper text) */
    "aria-describedby"?: string;
    /** Icon-only triggers (labels in `sr-only` or visible text) */
    iconOnly?: boolean;
    className?: string;
    /** Tooltip on each segment (defaults to `iconOnly` — recommended for icon-only) */
    showTooltips?: boolean;
    /** Tooltip position */
    tooltipSide?: "top" | "bottom" | "left" | "right";
}
declare function ViewSegmentedControl<T extends string>({ value, onValueChange, options, "aria-label": ariaLabel, "aria-describedby": ariaDescribedBy, iconOnly, className, showTooltips, tooltipSide, }: ViewSegmentedControlProps<T>): react_jsx_runtime.JSX.Element;

export { type ViewSegmentOption, ViewSegmentedControl, type ViewSegmentedControlProps, viewSegmentedButtonClass, viewSegmentedToolbarClass };
