import { IDisposable } from '@vscode/monaco-editor/esm/vs/base/common/lifecycle';
import { ITreeItem, IRevealOptions } from '@workbench-stack/core';
import { Connection, Disposable } from "@workbench-stack/extension-api";
import { MainThreadTreeViewsShape } from '@workbench-stack/extension-api/lib/protocol/server.protocol';
import { ViewProviderRegistry } from '../../services/view-service';
export declare class ClientTreeViews extends Disposable implements MainThreadTreeViewsShape {
    registry: ViewProviderRegistry;
    private proxy;
    private serverProxy;
    private readonly _store;
    private subscriptions;
    private registrations;
    private readonly _dataProviders;
    constructor(connection: Connection, registry: ViewProviderRegistry);
    unsubscribe(): void;
    dispose(): void;
    $refresh(treeViewId: string, itemsToRefreshByHandle: {
        [treeItemHandle: string]: ITreeItem;
    }): Promise<void>;
    private getTreeView;
    $registerTreeViewDataProvider(treeViewId: string, options: {
        showCollapseAll: boolean;
        canSelectMany: boolean;
    }): void;
    private registerListeners;
    protected _register<T extends IDisposable>(t: T): T;
    $reveal(treeViewId: string, itemIn: ITreeItem, parentChain: ITreeItem[], options: IRevealOptions): Promise<void>;
    $setMessage(treeViewId: string, message: string): void;
}
