import { ElementType } from 'react'; import { SegmentedProps } from './Segmented.js'; interface ToggleGroupOwnProps { /** * Controlled selection. A single value in single-select mode, an array when `multiple`. * * When provided, internal state is bypassed. */ value?: string | string[]; /** Initial selection (uncontrolled). Ignored when `value` is provided. */ defaultValue?: string | string[]; /** * Fires whenever the selection changes. * * Receives a single value (or `undefined` when nothing is selected) in single-select mode, or the full array in `multiple` mode. */ onValueChange?: (value: string | string[] | undefined) => void; /** * Allow more than one selected value. Selection becomes an array and every `ToggleButton` toggles independently. Default `false`. */ multiple?: boolean; } export type ToggleGroupProps = ToggleGroupOwnProps & Omit, keyof ToggleGroupOwnProps>; /** Shape of `ToggleGroup` defaults that can be supplied via `CladdProvider`'s `defaults` prop. */ export type ToggleGroupDefaultProps = Partial>; /** * A group of `ToggleButton`s that owns the selected value(s) - the * self-managing counterpart to wiring `Segmented`/`SegmentedButton` by hand. * Renders a `Segmented` (so it inherits the full segmented look and all its * `color`/`variant`/`active*` knobs) and publishes the selection to its * children through context. * * Unlike `Segmented`, the active button stays pressable: clicking it deselects * (single mode collapses to no selection, `multiple` removes it from the set). * * @example * * Grid * List * * * @example * * Bold * Italic * */ export declare const ToggleGroup: (props: ToggleGroupProps) => import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=ToggleGroup.d.ts.map