import { CancellationToken, Uri } from '@opensumi/ide-core-common';
import { ExtensionDocumentDataManager } from '../../../../common/vscode';
import { ITypeHierarchyItemDto, Position } from '../../../../common/vscode/model.api';
import type vscode from 'vscode';
export declare class TypeHierarchyAdapter {
    private readonly _documents;
    private readonly _provider;
    private readonly _idPool;
    private readonly _cache;
    constructor(_documents: ExtensionDocumentDataManager, _provider: vscode.TypeHierarchyProvider);
    prepareSession(uri: Uri, position: Position, token: CancellationToken): Promise<ITypeHierarchyItemDto[] | undefined>;
    provideSupertypes(sessionId: string, itemId: string, token: CancellationToken): Promise<ITypeHierarchyItemDto[] | undefined>;
    provideSubtypes(sessionId: string, itemId: string, token: CancellationToken): Promise<ITypeHierarchyItemDto[] | undefined>;
    releaseSession(sessionId: string): void;
    private _cacheAndConvertItem;
    private _itemFromCache;
}
//# sourceMappingURL=type-hierarchy.d.ts.map