import type { GenericHTMLProps } from '../utils/types.js';
export declare function useToggleGroup(parameters: useToggleGroup.Parameters): useToggleGroup.ReturnValue;
export type ToggleGroupOrientation = 'horizontal' | 'vertical';
export declare namespace useToggleGroup {
interface Parameters {
/**
* The open state of the ToggleGroup represented by an array of
* the values of all pressed ``s
* This is the controlled counterpart of `defaultValue`.
*/
value?: readonly any[];
/**
* The open state of the ToggleGroup represented by an array of
* the values of all pressed ``s.
* This is the uncontrolled counterpart of `value`.
*/
defaultValue?: readonly any[];
/**
* Callback fired when the pressed states of the ToggleGroup changes.
*
* @param {any[]} groupValue An array of the `value`s of all the pressed items.
* @param {Event} event The corresponding event that initiated the change.
*/
onValueChange: (groupValue: any[], event: Event) => void;
/**
* Whether the component should ignore user interaction.
* @default false
*/
disabled: boolean;
/**
* When `false` only one item in the group can be pressed. If any item in
* the group becomes pressed, the others will become unpressed.
* When `true` multiple items can be pressed.
* @default false
*/
toggleMultiple: boolean;
}
interface ReturnValue {
getRootProps: (externalProps?: GenericHTMLProps) => GenericHTMLProps;
/**
* Whether the component should ignore user interaction.
* @default false
*/
disabled: boolean;
/**
*
*/
setGroupValue: (newValue: string, nextPressed: boolean, event: Event) => void;
/**
* The value of the ToggleGroup represented by an array of values
* of the items that are pressed.
*/
value: readonly any[];
}
}