/**
 * 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 { EmptyableConfig } from "./EmptyableConfig";
import { UiTabConfig } from "./UiTabConfig";
import { UiTabPanelTabStyle } from "./UiTabPanelTabStyle";
import { UiWindowButtonType } from "./UiWindowButtonType";
import { UiComponentCommandHandler } from "./UiComponentConfig";
export interface UiTabPanelConfig extends UiComponentConfig, EmptyableConfig {
    _type?: string;
    tabs?: UiTabConfig[];
    selectedTabId?: string;
    hideTabBarIfSingleTab?: boolean;
    tabStyle?: UiTabPanelTabStyle;
    toolButtons?: unknown[];
    windowButtons?: UiWindowButtonType[];
}
export interface UiTabPanelCommandHandler extends UiComponentCommandHandler {
    setHideTabBarIfSingleTab(hideTabBarIfSingleTab: boolean): void;
    setTabStyle(tabStyle: UiTabPanelTabStyle): void;
    setToolButtons(toolButtons: unknown[]): void;
    setWindowButtons(windowButtons: UiWindowButtonType[]): void;
    selectTab(tabId: string): void;
    addTab(tab: UiTabConfig, select: boolean): void;
    removeTab(tabId: string): void;
    setTabToolbar(tabId: string, toolbar: unknown): void;
    setTabContent(tabId: string, component: unknown): void;
    setTabConfiguration(tabId: string, icon: string, caption: string, closeable: boolean, visible: boolean, rightSide: boolean): void;
}
export interface UiTabPanelEventSource {
    onTabSelected: TeamAppsEvent<UiTabPanel_TabSelectedEvent>;
    onTabNeedsRefresh: TeamAppsEvent<UiTabPanel_TabNeedsRefreshEvent>;
    onTabClosed: TeamAppsEvent<UiTabPanel_TabClosedEvent>;
    onWindowButtonClicked: TeamAppsEvent<UiTabPanel_WindowButtonClickedEvent>;
}
export interface UiTabPanel_TabSelectedEvent extends UiEvent {
    tabId: string;
}
export interface UiTabPanel_TabNeedsRefreshEvent extends UiEvent {
    tabId: string;
}
export interface UiTabPanel_TabClosedEvent extends UiEvent {
    tabId: string;
}
export interface UiTabPanel_WindowButtonClickedEvent extends UiEvent {
    windowButton: UiWindowButtonType;
}
