import { ReactNode, HTMLAttributes } from 'react';
import { FieldProps } from '../utils';
declare type BaseElement = HTMLDivElement;
declare type BaseProps = HTMLAttributes;
export interface ToggleButtonGroupOption {
/**
* The id to associate with when selected.
*/
readonly id: T;
/**
* Togglebutton content, can be e.g. Icon or Typography.
*/
readonly content: ReactNode;
/**
* Use to disable toggle button
* Default `false`
*/
readonly disabled?: boolean;
}
export interface ToggleButtonGroupProps extends Omit {
/**
* `class` to be passed to the component.
*/
readonly className?: BaseProps['className'];
/**
* ToggleButton options with ID, react node element as content and disabled.
*/
readonly options: ReadonlyArray>;
/**
* Array of id values that should be toggled.
*/
readonly values: ReadonlyArray;
/**
* If `true`, only allow one of the child ToggleButton values to be selected.
* @default false
*/
readonly exclusive?: boolean;
/**
* Callback fired when user clicks a toggle button.
* @param id The toggle button id prop
*/
readonly onChange: (id: T) => void;
}
export declare function ToggleButtonGroup({ options, onChange, values, exclusive, ...props }: ToggleButtonGroupProps): JSX.Element;
export declare const ToggleButtonGroupWithField: (props: Pick & ToggleButtonGroupProps) => import("react").ReactElement | null;
export {};