import { CommandRegistry, CommandService, Disposable, IDisposable, IEventBus, IToolbarPopoverRegistry, IToolbarRegistry } from '@opensumi/ide-core-browser';
import { IIconService } from '@opensumi/ide-theme';
import { IMainThreadToolbar } from '../../common/sumi/toolbar';
import { IToolbarButtonContribution, IToolbarDropdownButtonContribution, IToolbarSelectContribution } from './types';
export declare class KaitianExtensionToolbarService {
    private btnDelegates;
    private selectDelegates;
    private dropdownButtonDelegates;
    private connected;
    protected eventBus: IEventBus;
    protected readonly toolbarPopover: IToolbarPopoverRegistry;
    toolbarRegistry: IToolbarRegistry;
    iconService: IIconService;
    commandService: CommandService;
    commandRegistry: CommandRegistry;
    constructor();
    getPopoverComponent(id: string, contribution: IToolbarButtonContribution): React.FC;
    registerToolbarButton(extensionId: string, extensionBasePath: string, contribution: IToolbarButtonContribution): IDisposable;
    doConnectToolbarButtonHandle(id: string): void;
    registerToolbarSelect<T = any>(extensionId: string, extensionBasePath: string, contribution: IToolbarSelectContribution<T>): IDisposable;
    doConnectToolbarSelectHandle(id: string): void;
    registerToolbarDropdownButton<T = any>(extensionId: string, extensionBasePath: string, contribution: IToolbarDropdownButtonContribution<T>): IDisposable;
    doConnectToolbarDropdownButtonHandle(id: string): void;
}
export declare class MainThreadToolbar extends Disposable implements IMainThreadToolbar {
    toolbarService: KaitianExtensionToolbarService;
    $registerToolbarButtonAction(extensionId: string, extensionPath: string, contribution: IToolbarButtonContribution): Promise<void>;
    $registerToolbarSelectAction<T = any>(extensionId: string, extensionPath: string, contribution: IToolbarSelectContribution<T>): Promise<void>;
    $registerDropdownButtonAction<T = any>(extensionId: string, extensionPath: string, contribution: IToolbarDropdownButtonContribution<T>): Promise<void>;
}
//# sourceMappingURL=main.thread.toolbar.d.ts.map