import * as React from "react"; type Props = { /** * The initial values of the buttons selected, defaults to null (no * selection). */ values: ReadonlyArray | null | undefined; /** * The set of buttons to display in this MultiButtonGroup. */ buttons: ReadonlyArray<{ /** * the value returned when the button is selected */ value: any; /** * The content shown within the button, typically a string that gets * rendered as the button's display text. */ content: React.ReactNode; /** * The title-text shown on hover */ title?: string; }>; /** * A function that is provided with the updated set of selected value * (which it then is responsible for updating) */ onChange: (values?: any) => unknown; /** * If false, at least one button must be selected at all times. * * Defaults to `true` */ allowEmpty?: boolean; }; type DefaultProps = { allowEmpty: Props["allowEmpty"]; values: Props["values"]; }; /** * MultiButtonGroup is an aesthetically pleasing group of buttons, * which allows multiple buttons to be selected at the same time. * * NOTE: This component is almost identical to ./button-group.jsx except that * this component allows multiple selection! */ declare class MultiButtonGroup extends React.Component { buttonContainerRef: React.RefObject; static defaultProps: DefaultProps; focus(): boolean; toggleSelect: (arg1?: any) => void; render(): React.ReactNode; } export default MultiButtonGroup;