import { ConfigOptions } from '../common/configOptions'; import { ConsoleInterface } from '../common/console'; import { Diagnostic } from '../common/diagnostic'; import { DiagnosticSink, TextRangeDiagnosticSink } from '../common/diagnosticSink'; import { FileSystem } from '../common/fileSystem'; import { LogTracker } from '../common/logTracker'; import { ServiceProvider } from '../common/serviceProvider'; import '../common/serviceProviderExtensions'; import { TextRange } from '../common/textRange'; import { TextRangeCollection } from '../common/textRangeCollection'; import { Uri } from '../common/uri/uri'; import { ParseFileResults, ParserOutput } from '../parser/parser'; import { ImportLookup } from './analyzerFileInfo'; import { CircularDependency } from './circularDependency'; import { ImportResolver } from './importResolver'; import { ImportResult } from './importResult'; import { Scope } from './scope'; import { SymbolTable } from './symbol'; import { TypeEvaluator } from './typeEvaluatorTypes'; export declare const maxSourceFileSize: number; export declare enum IPythonMode { None = 0, CellDocs = 1 } export interface SourceFileEditMode { readonly isEditMode: boolean; } export declare class SourceFile { readonly serviceProvider: ServiceProvider; private _console; private readonly _uri; private readonly _fileId; private _moduleNameGetter; private _cachedModuleName; private readonly _isStubFile; private readonly _isThirdPartyImport; private readonly _isTypingStubFile; private readonly _isTypingExtensionsStubFile; private readonly _isTypeshedStubFile; private readonly _isBuiltInStubFile; private readonly _isThirdPartyPyTypedPresent; private readonly _editMode; private _diagnosticRuleSet; private _ipythonMode; private _logTracker; private _preEditData; private _writableData; readonly fileSystem: FileSystem; constructor(serviceProvider: ServiceProvider, uri: Uri, moduleNameGetter: (file: Uri) => string, isThirdPartyImport: boolean, isThirdPartyPyTypedPresent: boolean, editMode: SourceFileEditMode, console?: ConsoleInterface, logTracker?: LogTracker, ipythonMode?: IPythonMode); getIPythonMode(): IPythonMode; getUri(): Uri; getModuleName(): string; clearCachedModuleName(): void; getDiagnosticVersion(): number; getParseDiagnostics(): Diagnostic[]; isStubFile(): boolean; isTypingStubFile(): boolean; isTypeshedStubFile(): boolean; isBuiltInStubFile(): boolean; isThirdPartyPyTypedPresent(): boolean; getDiagnostics(options: ConfigOptions, prevDiagnosticVersion?: number): Diagnostic[] | undefined; getImports(): ImportResult[]; getBuiltinsImport(): ImportResult | undefined; getModuleSymbolTable(): SymbolTable | undefined; getCheckTime(): number | undefined; restore(): string | undefined; didContentsChangeOnDisk(): boolean; dropParseAndBindInfo(): void; markDirty(): void; markReanalysisRequired(forceRebinding: boolean): void; getFileContentsVersion(): number; getClientVersion(): number | undefined; getSemanticVersion(): number; getRange(): { start: { line: number; character: number; }; end: { line: number; character: number; }; }; getOpenFileContents(): string | undefined; getFileContent(): string | undefined; setClientVersion(version: number | null, contents: string): void; prepareForClose(): void; isFileDeleted(): boolean; isParseRequired(): boolean; isBindingRequired(): boolean; isCheckingRequired(): boolean; getParseResults(): ParseFileResults | undefined; getParserOutput(): ParserOutput | undefined; addCircularDependency(configOptions: ConfigOptions, circDependency: CircularDependency): void; setNoCircularDependencyConfirmed(): void; isNoCircularDependencyConfirmed(): boolean; setHitMaxImportDepth(maxImportDepth: number): void; parse(configOptions: ConfigOptions, importResolver: ImportResolver, content?: string): boolean; bind(configOptions: ConfigOptions, importLookup: ImportLookup, builtinsScope: Scope | undefined, futureImports: Set): void; check(configOptions: ConfigOptions, importLookup: ImportLookup, importResolver: ImportResolver, evaluator: TypeEvaluator, dependentFiles?: ParserOutput[]): void; test_enableIPythonMode(enable: boolean): void; protected createDiagnosticSink(): DiagnosticSink; protected createTextRangeDiagnosticSink(lines: TextRangeCollection): TextRangeDiagnosticSink; private _makeFileId; private _recomputeDiagnostics; private _cachePreEditState; private _addTaskListDiagnostics; private _buildFileInfo; private _cleanParseTreeIfRequired; private _resolveImports; private _getPathForLogging; private _parseFile; private _tokenizeContents; private _fireFileDirtyEvent; }