import { CancellationToken } from 'vscode-jsonrpc'; import { ExecutionEnvironment } from '../common/configOptions'; import { Uri } from '../common/uri/uri'; import { ModuleNode } from '../parser/parseNodes'; import { ClassDeclaration, Declaration, FunctionDeclaration } from './declaration'; import { ImportResolver } from './importResolver'; import { SourceFile } from './sourceFile'; import { SourceFileInfo } from './sourceFileInfo'; import { TypeEvaluator } from './typeEvaluatorTypes'; import { ClassType } from './types'; export type ShadowFileBinder = (stubFileUri: Uri, implFileUri: Uri) => SourceFile | undefined; export type BoundSourceGetter = (fileUri: Uri) => SourceFileInfo | undefined; export declare class SourceMapper { private _importResolver; private _execEnv; private _evaluator; private _fileBinder; private _boundSourceGetter; private _mapCompiled; private _preferStubs; private _fromFile; private _cancelToken; constructor(_importResolver: ImportResolver, _execEnv: ExecutionEnvironment, _evaluator: TypeEvaluator, _fileBinder: ShadowFileBinder, _boundSourceGetter: BoundSourceGetter, _mapCompiled: boolean, _preferStubs: boolean, _fromFile: SourceFileInfo | undefined, _cancelToken: CancellationToken); findModules(stubFileUri: Uri): ModuleNode[]; getModuleNode(fileUri: Uri): ModuleNode | undefined; findDeclarations(stubDecl: Declaration): Declaration[]; findDeclarationsByType(originatedPath: Uri, type: ClassType, useTypeAlias?: boolean): Declaration[]; findClassDeclarationsByType(originatedPath: Uri, type: ClassType): ClassDeclaration[]; findFunctionDeclarations(stubDecl: FunctionDeclaration): FunctionDeclaration[]; isUserCode(uri: Uri): boolean; getNextFileName(uri: Uri): Uri; getSourcePathsFromStub(stubFileUri: Uri, fromFile: Uri | undefined): Uri[]; private _findSpecialBuiltInClassDeclarations; private _findClassOrTypeAliasDeclarations; private _findFunctionOrTypeAliasDeclarations; private _findVariableDeclarations; private _findParamDeclarations; private _findMemberDeclarationsByName; private _findFieldDeclarationsByName; private _findMethodDeclarationsByName; private _findVariableDeclarationsByName; private _findFunctionDeclarationsByName; private _findClassDeclarationsByName; private _findClassDeclarations; private _addVariableDeclarations; private _addClassOrFunctionDeclarations; private _handleSpecialBuiltInModule; private _addClassTypeDeclarations; private _getSourceFiles; private _addDeclarationsFollowingWildcardImports; private _lookUpSymbolDeclarations; private _getFullClassName; private _getBoundSourceFilesFromStubFile; private _getStubFileImportTree; private _isStubThatShouldBeMappedToImplementation; } export declare function isStubFile(uri: Uri): boolean;