import * as React from "react";
interface Option {
    value: string;
    label: React.ReactNode;
    ariaLabel?: string;
}
interface SegmentedControlProps {
    options: ReadonlyArray<Option>;
    selectedValue: string | null | undefined;
    onChange: (value: string) => void;
    disabled?: boolean;
    "aria-label"?: string;
}
/**
 * A row of mutually-exclusive (single-select) segments — a segmented control.
 * Replaces the deprecated `Pill`-as-button pattern. Pass `disabled` to disable
 * the whole group (e.g. `editingDisabled`).
 */
export declare function SegmentedControl({ options, selectedValue, onChange, disabled, "aria-label": ariaLabel, }: SegmentedControlProps): React.ReactElement;
interface ToggleButtonGroupProps {
    options: ReadonlyArray<Option>;
    selectedValues: ReadonlyArray<string>;
    onToggle: (value: string) => void;
    disabled?: boolean;
    "aria-label"?: string;
}
/**
 * A group of independent (multi-select) toggles — i.e. a set of checkboxes
 * styled as buttons. Unlike `SegmentedControl`, more than one can be selected,
 * and the group wraps onto multiple rows as an aligned grid (consistent row and
 * column gaps) when it doesn't fit on one line. `onToggle` is called with the
 * value that was clicked; the caller flips it in/out of `selectedValues`.
 */
export declare function ToggleButtonGroup({ options, selectedValues, onToggle, disabled, "aria-label": ariaLabel, }: ToggleButtonGroupProps): React.ReactElement;
export {};
