import { CancellationToken } from 'vscode-languageserver'; import { ConfigOptions } from '../common/configOptions'; import { ConsoleInterface } from '../common/console'; import { FileDiagnostics } from '../common/diagnosticSink'; import { MaxAnalysisTime, Program } from './program'; export declare const nullCallback: AnalysisCompleteCallback; export interface AnalysisResults { diagnostics: FileDiagnostics[]; filesInProgram: number; checkingOnlyOpenFiles: boolean; requiringAnalysisCount: RequiringAnalysisCount; fatalErrorOccurred: boolean; configParseErrorOccurred: boolean; elapsedTime: number; error?: Error | undefined; reason: 'analysis' | 'tracking'; } export interface RequiringAnalysisCount { files: number; cells: number; } export type AnalysisCompleteCallback = (results: AnalysisResults) => void; export declare function analyzeProgram(program: Program, maxTime: MaxAnalysisTime | undefined, configOptions: ConfigOptions, callback: AnalysisCompleteCallback | undefined, console: ConsoleInterface, token: CancellationToken): boolean;