import { UiToolbarButtonConfig } from "../../../generated/UiToolbarButtonConfig";
import { TeamAppsUiContext } from "../../TeamAppsUiContext";
import { UiDropDownButtonClickInfoConfig } from "../../../generated/UiDropDownButtonClickInfoConfig";
import { TeamAppsEvent } from "../../util/TeamAppsEvent";
import { UiComponent } from "../../UiComponent";
export declare class UiToolbarButton {
    config: UiToolbarButtonConfig;
    private context;
    readonly onClicked: TeamAppsEvent<UiDropDownButtonClickInfoConfig>;
    readonly onDropDownItemClicked: TeamAppsEvent<{
        groupId: string;
        itemId: number;
    }>;
    private $buttonWrapper;
    private $button;
    private $dropDownCaret;
    optimizedWidth: number;
    private visible;
    private hasDropDown;
    private dropDown;
    private dropDownComponent;
    constructor(config: UiToolbarButtonConfig, context: TeamAppsUiContext);
    getMainDomElement(): HTMLElement;
    setDropDownComponent(component: UiComponent): void;
    getDropDownComponent(): UiComponent<import("../../../generated/UiComponentConfig").UiComponentConfig>;
    setVisible(visible: boolean): void;
    isVisible(): boolean;
    setHasDropDown(hasDropDown: boolean): void;
    readonly id: string;
}
