import { IRPCProtocol } from '@opensumi/ide-connection';
import { Disposable, IEventBus, ILogger } from '@opensumi/ide-core-browser';
import { IMainLayoutService } from '@opensumi/ide-main-layout';
import { TabBarHandler } from '@opensumi/ide-main-layout/lib/browser/tabbar-handler';
import { IExtHostLayout, IMainThreadLayout } from '../../common/sumi/layout';
import type { ViewBadge } from 'vscode';
export declare class MainThreadLayout extends Disposable implements IMainThreadLayout {
    layoutService: IMainLayoutService;
    private iconService;
    handlerMap: Map<string, TabBarHandler>;
    proxy: IExtHostLayout;
    eventBus: IEventBus;
    logger: ILogger;
    constructor(rpcProtocol: IRPCProtocol);
    $setTitle(id: string, title: string): void;
    $setIcon(id: string, iconPath: string): void;
    $setSize(id: string, size: number): void;
    $activate(id: string): void;
    $deactivate(id: string): void;
    $setBadge(id: string, badge?: string | ViewBadge): void;
    $setVisible(id: string, visible: boolean): Promise<void>;
    $connectTabbar(id: string): Promise<void>;
    $isAttached(id: string): Promise<boolean>;
    private bindHandleEvents;
    protected getHandler(id: string): TabBarHandler | undefined;
}
//# sourceMappingURL=main.thread.layout.d.ts.map