import { ReactiveController, ReactiveControllerHost } from "lit";
import { CreateAddApplicationPopupRequestOptions, CreateAddWorkspaceOptions, CreateAddWorkspacePopupRequestOptions, CreateBeforeGroupTabsRequestOptions, CreateElementRequestOptions, CreateAfterGroupTabsRequestOptions, CreateGroupHeaderButtonsRequestOptions, CreateWorkspaceTabRequestOptions, CreateWorkspaceWindowTabRequestOptions, RemoveRequestOptions } from "./types/internal";
import { CustomComponents } from "./types/api";
export declare class CustomElementsController implements ReactiveController {
    private host;
    private components;
    private io;
    private state;
    constructor(host: ReactiveControllerHost);
    hostConnected(): void;
    createFactory(components: CustomComponents, io: any): {
        createLogo: ((args: CreateElementRequestOptions) => void) | undefined;
        createWorkspaceTabs: (args: CreateWorkspaceTabRequestOptions) => void;
        createAddWorkspace: ((args: CreateAddWorkspaceOptions) => void) | undefined;
        createSystemButtons: ((args: CreateElementRequestOptions) => void) | undefined;
        createBeforeGroupTabs: ((args: CreateBeforeGroupTabsRequestOptions) => void) | undefined;
        createWorkspaceWindowTabs: ((args: CreateWorkspaceWindowTabRequestOptions) => void) | undefined;
        createAfterGroupTabs: ((args: CreateAfterGroupTabsRequestOptions) => void) | undefined;
        createGroupHeaderButtons: ((args: CreateGroupHeaderButtonsRequestOptions) => void) | undefined;
        createAddApplicationPopup: (args: CreateAddApplicationPopupRequestOptions) => void;
        createAddWorkspacePopup: (args: CreateAddWorkspacePopupRequestOptions) => void;
        updateWorkspaceTabs: ((args: CreateWorkspaceTabRequestOptions) => void) | undefined;
        updateAddWorkspace: ((args: CreateAddWorkspaceOptions) => void) | undefined;
        updateWorkspaceWindowTabs: ((args: CreateWorkspaceWindowTabRequestOptions) => void) | undefined;
        updateAfterGroupTabs: ((args: CreateAfterGroupTabsRequestOptions) => void) | undefined;
        updateGroupHeaderButtons: ((args: CreateGroupHeaderButtonsRequestOptions) => void) | undefined;
        removeWorkspaceTabs: (options: RemoveRequestOptions) => void;
        removeBeforeGroupTabs: (options: RemoveRequestOptions) => void;
        removeWorkspaceWindowTabs: (options: RemoveRequestOptions) => void;
        removeAfterGroupTabs: (options: RemoveRequestOptions) => void;
        removeGroupHeaderButtons: (options: RemoveRequestOptions) => void;
        hideSystemPopups: (callback?: () => void) => void;
    };
    private createLogo;
    private createWorkspaceTabs;
    private createSystemButtons;
    private createAddWorkspace;
    private createBeforeGroupTabs;
    private createWorkspaceWindowTabs;
    private createAfterGroupTabs;
    private createGroupHeaderButtons;
    private createAddApplicationPopup;
    private createAddWorkspacePopup;
    private updateWorkspaceTabs;
    private updateAddWorkspace;
    private updateWorkspaceWindowTabs;
    private updateAfterGroupTab;
    private updateGroupHeaderButtons;
    private removeWorkspaceTabs;
    private removeBeforeGroupTabs;
    private removeWorkspaceWindowTab;
    private removeAfterGroupTabs;
    private removeGroupHeaderButtons;
    private hideSystemPopups;
    private getConstructor;
    private isConstructor;
    private createElement;
    private applyDefaultComponents;
}
//# sourceMappingURL=customElementsController.d.ts.map