import { TeamAppsUiContextInternalApi } from "./TeamAppsUiContext";
import { UiConfigurationConfig } from "../generated/UiConfigurationConfig";
import { UiComponentConfig } from "../generated/UiComponentConfig";
import { UiEvent } from "../generated/UiEvent";
import { UiCommand } from '../generated/UiCommand';
import { TemplateRegistry } from "./TemplateRegistry";
import { TeamAppsEvent } from "./util/TeamAppsEvent";
import { UiComponent } from "./UiComponent";
export declare class DefaultTeamAppsUiContext implements TeamAppsUiContextInternalApi {
    private static logger;
    readonly onStaticMethodCommandInvocation: TeamAppsEvent<UiCommand>;
    readonly sessionId: string;
    isHighDensityScreen: boolean;
    config: UiConfigurationConfig;
    readonly templateRegistry: TemplateRegistry;
    private components;
    private _executingCommand;
    private connection;
    constructor(webSocketUrl: string, clientParameters?: {
        [key: string]: string | number;
    });
    readonly executingCommand: boolean;
    fireEvent(eventObject: UiEvent): void;
    registerComponent(component: UiComponent<UiComponentConfig>, id: string, teamappsType: string): void;
    createAndRegisterComponent(config: UiComponentConfig): UiComponent<UiComponentConfig>;
    destroyComponent(componentId: string): void;
    refreshComponent(config: UiComponentConfig): void;
    getComponentById(id: string): UiComponent<UiComponentConfig>;
    private executeCommands;
    private replaceComponentReferencesWithInstances;
    private commandExecutor;
    private executeCommand;
}
