import { CodeInformation, CodeRangeKey, FileRegistry, LinkedCodeMap, Mapping, SourceMap, VirtualCode } from '@volar/language-core'; import type * as ts from 'typescript'; import type * as vscode from 'vscode-languageserver-protocol'; import { TextDocument } from 'vscode-languageserver-textdocument'; export type DocumentProvider = ReturnType; export declare class SourceMapWithDocuments { sourceFileDocument: TextDocument; virtualFileDocument: TextDocument; map: SourceMap; constructor(sourceFileDocument: TextDocument, virtualFileDocument: TextDocument, map: SourceMap); getSourceRange(range: vscode.Range, filter?: (data: Data) => boolean): vscode.Range | undefined; getGeneratedRange(range: vscode.Range, filter?: (data: Data) => boolean): vscode.Range | undefined; getSourceRanges(range: vscode.Range, filter?: (data: Data) => boolean): Generator; getGeneratedRanges(range: vscode.Range, filter?: (data: Data) => boolean): Generator; protected findRanges(range: vscode.Range, filter: (data: Data) => boolean, api: 'getSourcePositionsBase' | 'getGeneratedPositionsBase', api2: 'matchSourcePosition' | 'matchGeneratedPosition'): Generator; getSourcePosition(position: vscode.Position, filter?: (data: Data) => boolean): import("vscode-languageserver-textdocument").Position | undefined; getGeneratedPosition(position: vscode.Position, filter?: (data: Data) => boolean): import("vscode-languageserver-textdocument").Position | undefined; getSourcePositions(position: vscode.Position, filter?: (data: Data) => boolean): Generator; getGeneratedPositions(position: vscode.Position, filter?: (data: Data) => boolean): Generator; getSourcePositionsBase(position: vscode.Position, filter?: (data: Data) => boolean): Generator], void, unknown>; getGeneratedPositionsBase(position: vscode.Position, filter?: (data: Data) => boolean): Generator], void, unknown>; protected findPositions(position: vscode.Position, filter: (data: Data) => boolean, fromDoc: TextDocument, toDoc: TextDocument, from: CodeRangeKey, to: CodeRangeKey): Generator], void, unknown>; protected matchSourcePosition(position: vscode.Position, mapping: Mapping): import("vscode-languageserver-textdocument").Position | undefined; protected matchGeneratedPosition(position: vscode.Position, mapping: Mapping): import("vscode-languageserver-textdocument").Position | undefined; } export declare class LinkedCodeMapWithDocument extends SourceMapWithDocuments { document: TextDocument; private linkedMap; constructor(document: TextDocument, linkedMap: LinkedCodeMap); getLinkedCodePositions(posotion: vscode.Position): Generator; } export declare function createDocumentProvider(files: FileRegistry): { get: (uri: string, languageId: string, snapshot: ts.IScriptSnapshot) => TextDocument; getMaps(virtualCode: VirtualCode): Generator, void, unknown>; getLinkedCodeMap(virtualCode: VirtualCode): LinkedCodeMapWithDocument | undefined; getVirtualCodeByUri(uri: string): readonly [VirtualCode, import("@volar/language-core").SourceFile] | readonly [undefined, undefined]; getVirtualCodeUri(sourceFileUri: string, virtualCodeId: string): string; };