import { CancellationToken, Uri } from '@opensumi/ide-core-common';
import { ExtensionDocumentDataManager } from '../../../../common/vscode';
import { ICallHierarchyItemDto, IIncomingCallDto, IOutgoingCallDto, Position } from '../../../../common/vscode/model.api';
import type vscode from 'vscode';
export declare class CallHierarchyAdapter {
    private readonly documents;
    private readonly provider;
    private readonly _idPool;
    private readonly _cache;
    constructor(documents: ExtensionDocumentDataManager, provider: vscode.CallHierarchyProvider);
    prepareSession(uri: Uri, position: Position, token: CancellationToken): Promise<ICallHierarchyItemDto[] | undefined>;
    provideCallsTo(sessionId: string, itemId: string, token: CancellationToken): Promise<IIncomingCallDto[] | undefined>;
    provideCallsFrom(sessionId: string, itemId: string, token: CancellationToken): Promise<IOutgoingCallDto[] | undefined>;
    releaseSession(sessionId: string): void;
    private _cacheAndConvertItem;
    private _itemFromCache;
}
//# sourceMappingURL=callhierarchy.d.ts.map