import { ClientApplication } from '../../client'; import { ActionSetWithChildren } from '../helper'; import { ActionSetProps, Component, MetaAction } from '../types'; import { Button, Payload as ButtonPayload } from '../Button'; import { Action, Options, Payload } from './types'; export interface ButtonGroupUpdateAction extends MetaAction { readonly group: string; payload: Payload; } export declare type ButtonGroupAction = ButtonGroupUpdateAction | MetaAction; export declare function update(group: string, component: Component, props: Payload): ButtonGroupUpdateAction; export declare function isGroupedButton(options: ButtonGroup | object): options is ButtonGroup; export declare function isGroupedButtonPayload(payload: Payload | object): payload is Payload; export declare class ButtonGroup extends ActionSetWithChildren implements ActionSetProps { label: string; disabled: boolean; buttonsOptions: Button[]; buttons: ButtonPayload[]; constructor(app: ClientApplication, options: Options); readonly options: Options; readonly payload: Payload; set(options: Partial, shouldUpdate?: boolean): this; dispatch(action: Action): this; updateButtons(newPayload: ButtonPayload): void; protected getSingleButton(button: Button): ButtonPayload; protected getButtons(buttonOptions?: Button[]): ButtonPayload[]; } export declare function create(app: ClientApplication, options: Options): ButtonGroup;