import { Event, IDisposable } from '@opensumi/ide-utils';
import { TreeStateManager } from './TreeStateManager';
import { ISerializableState, TreeStateWatcherChangeType as TreeStateChangeType } from './types';
export declare class TreeStateWatcher implements IDisposable {
    private _disposed;
    private disposables;
    private onDidTreeStateChangeEmitter;
    private currentState;
    constructor(treeState: TreeStateManager, atSurfaceExpandedDirsOnly?: boolean);
    get onDidChange(): Event<TreeStateChangeType>;
    dispose(): void;
    snapshot(): ISerializableState;
    toString(): string;
}
//# sourceMappingURL=TreeStateWatcher.d.ts.map