/**
 * THIS IS GENERATED CODE!
 * PLEASE DO NOT MODIFY - ALL YOUR WORK WOULD BE LOST!
 */
export declare const typescriptDeclarationFixConstant = 1;
import { UiEvent } from "./UiEvent";
import { TeamAppsEvent } from "../modules/util/TeamAppsEvent";
import { UiComponentConfig } from "./UiComponentConfig";
import { UiToolbarButtonGroupConfig } from "./UiToolbarButtonGroupConfig";
import { UiColorConfig } from "./UiColorConfig";
import { UiToolbarButtonConfig } from "./UiToolbarButtonConfig";
import { UiDropDownButtonClickInfoConfig } from "./UiDropDownButtonClickInfoConfig";
import { UiComponentCommandHandler } from "./UiComponentConfig";
export interface AbstractUiToolContainerConfig extends UiComponentConfig {
    _type?: string;
    buttonGroups: UiToolbarButtonGroupConfig[];
    backgroundColor?: UiColorConfig;
}
export interface AbstractUiToolContainerCommandHandler extends UiComponentCommandHandler {
    setButtonVisible(groupId: string, buttonId: string, visible: boolean): void;
    setButtonGroupVisible(groupId: string, visible: boolean): void;
    addButton(groupId: string, button: UiToolbarButtonConfig, neighborButtonId: string, beforeNeighbor: boolean): void;
    removeButton(groupId: string, buttonId: string): void;
    addButtonGroup(group: UiToolbarButtonGroupConfig): void;
    removeButtonGroup(groupId: string): void;
    setButtonHasDropDown(groupId: string, buttonId: string, hasDropDown: boolean): void;
    setDropDownComponent(groupId: string, buttonId: string, component: unknown): void;
    updateButtonGroups(buttonGroups: UiToolbarButtonGroupConfig[]): void;
}
export interface AbstractUiToolContainerEventSource {
    onToolbarButtonClick: TeamAppsEvent<AbstractUiToolContainer_ToolbarButtonClickEvent>;
    onToolbarDropDownItemClick: TeamAppsEvent<AbstractUiToolContainer_ToolbarDropDownItemClickEvent>;
}
export interface AbstractUiToolContainer_ToolbarButtonClickEvent extends UiEvent {
    groupId: string;
    buttonId: string;
    dropDownClickInfo: UiDropDownButtonClickInfoConfig;
}
export interface AbstractUiToolContainer_ToolbarDropDownItemClickEvent extends UiEvent {
    groupId: string;
    buttonId: string;
    dropDownGroupId: string;
    dropDownItemId: any;
}
