/**
 * 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 { UiComponentCommandHandler } from "./UiComponentConfig";
export interface UiToolButtonConfig extends UiComponentConfig {
    _type?: string;
    icon: string;
    iconSize?: number;
    caption?: string;
    popoverText: string;
    grayOutIfNotHovered?: boolean;
    title?: string;
    minDropDownWidth?: number;
    minDropDownHeight?: number;
    openDropDownIfNotSet?: boolean;
    dropDownComponent?: unknown;
}
export declare function createUiToolButtonConfig(icon: string, popoverText: string, nonRequiredProperties?: {
    id?: string;
    debuggingId?: string;
    visible?: boolean;
    stylesBySelector?: {
        [name: string]: {
            [name: string]: string;
        };
    };
    classNamesBySelector?: {
        [name: string]: {
            [name: string]: boolean;
        };
    };
    attributesBySelector?: {
        [name: string]: {
            [name: string]: string;
        };
    };
    iconSize?: number;
    caption?: string;
    grayOutIfNotHovered?: boolean;
    title?: string;
    minDropDownWidth?: number;
    minDropDownHeight?: number;
    openDropDownIfNotSet?: boolean;
    dropDownComponent?: unknown;
}): UiToolButtonConfig;
export interface UiToolButtonCommandHandler extends UiComponentCommandHandler {
    setIcon(icon: string): any;
    setIconSize(iconSize: number): any;
    setCaption(caption: string): any;
    setTitle(title: string): any;
    setGrayOutIfNotHovered(grayOutIfNotHovered: boolean): any;
    setDropDownSize(minDropDownWidth: number, minDropDownHeight: number): any;
    setOpenDropDownIfNotSet(openDropDownIfNotSet: boolean): any;
    setDropDownComponent(dropDownComponent: unknown): any;
    closeDropDown(): any;
}
export interface UiToolButtonEventSource {
    onClicked: TeamAppsEvent<UiToolButton_ClickedEvent>;
    onDropDownOpened: TeamAppsEvent<UiToolButton_DropDownOpenedEvent>;
}
export interface UiToolButton_ClickedEvent extends UiEvent {
}
export interface UiToolButton_DropDownOpenedEvent extends UiEvent {
}
