UNPKG

typescript

Version:

TypeScript is a language for application scale JavaScript development

1,421 lines • 68.5 kB
import { CaseSensitivity } from "../../enums/caseSensitivity.js";
import { JsxEmit } from "../../enums/jsxEmit.js";
import { ModuleDetectionKind } from "../../enums/moduleDetectionKind.js";
import { ModuleKind } from "../../enums/moduleKind.js";
import { ModuleResolutionKind } from "../../enums/moduleResolutionKind.js";
import { NewLineKind } from "../../enums/newLineKind.js";
import { ScriptKind } from "../../enums/scriptKind.js";
import { ScriptTarget } from "../../enums/scriptTarget.js";
import { SymbolOwnerKind } from "../../enums/symbolOwnerKind.js";
import type { PathKey, RootedDirectoryPath, RootedFilePath, RootedPath } from "../ast/index.ts";
import type { CompilerOptions, PluginImport } from "./compilerOptions.generated.ts";
import type { UserPreferences } from "./userPreferences.generated.ts";
export { CaseSensitivity } from "../../enums/caseSensitivity.js";
export { JsxEmit } from "../../enums/jsxEmit.js";
export { ModuleDetectionKind } from "../../enums/moduleDetectionKind.js";
export { ModuleKind } from "../../enums/moduleKind.js";
export { ModuleResolutionKind } from "../../enums/moduleResolutionKind.js";
export { NewLineKind } from "../../enums/newLineKind.js";
export { ScriptKind } from "../../enums/scriptKind.js";
export { ScriptTarget } from "../../enums/scriptTarget.js";
export { SymbolOwnerKind } from "../../enums/symbolOwnerKind.js";
export type { PathKey, RootedDirectoryPath, RootedFilePath, RootedPath } from "../ast/index.ts";
export type { CompilerOptions, PluginImport } from "./compilerOptions.generated.ts";
export * from "./compilerOptions.generated.ts";
export type { UserPreferences } from "./userPreferences.generated.ts";
export type APIMethod<TParams, TResult> = {
    params: TParams;
    result: TResult;
};
export interface APIMethodInfo {
    release: APIMethod<ReleaseParams, void>;
    releaseSourceFile: APIMethod<ReleaseSourceFileParams, unknown>;
    retainSourceFile: APIMethod<RetainSourceFileParams, RetainSourceFileResponse>;
    getCachedSourceFile: APIMethod<GetCachedSourceFileParams, SourceFileResponse>;
    getSymbolOfDeclaration: APIMethod<GetSymbolOfDeclarationParams, SymbolResponse>;
    batchRequests: APIMethod<BatchRequestsParams, BatchRequestsResponse>;
    initialize: APIMethod<null, InitializeResponse>;
    createSnapshot: APIMethod<CreateSnapshotParams, CreateSnapshotResponse>;
    updateSnapshot: APIMethod<UpdateSnapshotParams, CreateSnapshotResponse>;
    getCurrentLanguageServerSnapshot: APIMethod<GetCurrentLanguageServerSnapshotParams, CreateSnapshotResponse>;
    createBuildOrchestrator: APIMethod<CreateBuildOrchestratorParams, CreateBuildOrchestratorResponse>;
    disposeBuildOrchestrator: APIMethod<DisposeBuildOrchestratorParams, unknown>;
    build: APIMethod<BuildParams, BuildResponse>;
    buildReferences: APIMethod<BuildParams, BuildResponse>;
    cleanBuild: APIMethod<CleanBuildParams, CleanBuildResponse>;
    cleanReferences: APIMethod<CleanBuildParams, CleanBuildResponse>;
    createModuleResolver: APIMethod<CreateModuleResolverParams, number>;
    releaseModuleResolver: APIMethod<ReleaseModuleResolverParams, unknown>;
    resolveModuleName: APIMethod<ResolveModuleNameParams, ResolveModuleNameResult>;
    parseCommandLine: APIMethod<ParseCommandLineParams, ConfigFileResponse>;
    readConfigFile: APIMethod<ReadConfigFileParams, ReadConfigFileResponse>;
    parseJsonConfigFileContent: APIMethod<ParseJsonConfigFileContentParams, ConfigFileResponse>;
    parseConfigFile: APIMethod<ParseConfigFileParams, ConfigFileResponse>;
    createSourceFile: APIMethod<CreateSourceFileParams, SourceFileResponse>;
    createSourceFileFromFile: APIMethod<CreateSourceFileFromFileParams, SourceFileResponse>;
    transpileModule: APIMethod<TranspileParams, TranspileOutputResponse>;
    transpileModuleFromFile: APIMethod<TranspileFromFileParams, TranspileOutputResponse>;
    transpileDeclaration: APIMethod<TranspileParams, TranspileOutputResponse>;
    transpileDeclarationFromFile: APIMethod<TranspileFromFileParams, TranspileOutputResponse>;
    getDefaultProjectForFile: APIMethod<GetDefaultProjectForFileParams, ProjectResponse | null>;
    getSymbolAtPosition: APIMethod<GetSymbolAtPositionParams, SymbolResponse | null>;
    getSymbolsAtPositions: APIMethod<GetSymbolsAtPositionsParams, SymbolResponse[]>;
    getSymbolAtLocation: APIMethod<GetSymbolAtLocationParams, SymbolResponse | null>;
    getSymbolsAtLocations: APIMethod<GetSymbolsAtLocationsParams, SymbolResponse[]>;
    getSymbolOfSourceFile: APIMethod<GetSymbolOfSourceFileParams, SymbolResponse | null>;
    getSymbolsOfSourceFiles: APIMethod<GetSymbolsOfSourceFilesParams, SymbolResponse[]>;
    getTypeOfSymbol: APIMethod<GetTypeOfSymbolParams, TypeResponse>;
    getTypesOfSymbols: APIMethod<GetTypesOfSymbolsParams, TypeResponse[]>;
    getDeclaredTypeOfSymbol: APIMethod<GetTypeOfSymbolParams, TypeResponse>;
    getNonMissingTypeOfSymbol: APIMethod<GetTypeOfSymbolParams, TypeResponse>;
    getSourceFile: APIMethod<GetSourceFileParams, SourceFileResponse | null>;
    getSourceFileNames: APIMethod<GetSourceFileNamesParams, RootedFilePath[]>;
    getSourceFileMetadata: APIMethod<GetSourceFileParams, SourceFileMetadata | null>;
    getModeForUsageLocation: APIMethod<GetModeForUsageLocationParams, ModuleKind>;
    getModeForResolutionAtIndex: APIMethod<GetModeForResolutionAtIndexParams, ModuleKind>;
    getResolvedModule: APIMethod<GetResolvedModuleParams, ResolvedModule | null>;
    getResolvedModuleFromModuleSpecifier: APIMethod<GetResolvedModuleFromModuleSpecifierParams, ResolvedModule | null>;
    getResolvedTypeReferenceDirective: APIMethod<GetResolvedTypeReferenceDirectiveParams, ResolvedTypeReferenceDirective | null>;
    getResolvedTypeReferenceDirectiveFromTypeReferenceDirective: APIMethod<GetResolvedTypeReferenceDirectiveFromReferenceParams, ResolvedTypeReferenceDirective | null>;
    getConfigFileNames: APIMethod<GetProjectDiagnosticsParams, RootedFilePath[] | null>;
    getConfigSourceFile: APIMethod<GetSourceFileParams, SourceFileResponse | null>;
    resolveName: APIMethod<ResolveNameParams, SymbolResponse | null>;
    getSymbolsInScope: APIMethod<GetSymbolsInScopeParams, SymbolResponse[]>;
    getSignaturesOfType: APIMethod<GetSignaturesOfTypeParams, SignatureResponse[]>;
    getResolvedSignature: APIMethod<GetResolvedSignatureParams, SignatureResponse>;
    getTypeAtLocation: APIMethod<GetTypeAtLocationParams, TypeResponse>;
    getTypeAtLocations: APIMethod<GetTypeAtLocationsParams, TypeResponse[]>;
    getTypeAtPosition: APIMethod<GetTypeAtPositionParams, TypeResponse | null>;
    getTypesAtPositions: APIMethod<GetTypesAtPositionsParams, TypeResponse[]>;
    getParentOfSymbol: APIMethod<GetSymbolPropertyParams, SymbolResponse | null>;
    getMembersOfSymbol: APIMethod<GetSymbolPropertyParams, SymbolResponse[] | null>;
    getExportsOfSymbol: APIMethod<GetSymbolPropertyParams, SymbolResponse[] | null>;
    getExportSymbolOfSymbol: APIMethod<GetSymbolPropertyParams, SymbolResponse | null>;
    getSymbolOfType: APIMethod<GetTypePropertyParams, SymbolResponse | null>;
    getTargetOfType: APIMethod<GetTypePropertyParams, TypeResponse>;
    getFreshTypeOfType: APIMethod<GetTypePropertyParams, TypeResponse | null>;
    getRegularTypeOfType: APIMethod<GetTypePropertyParams, TypeResponse | null>;
    getTypesOfType: APIMethod<GetTypePropertyParams, TypeResponse[] | null>;
    getTypeParametersOfType: APIMethod<GetTypePropertyParams, TypeResponse[] | null>;
    getOuterTypeParametersOfType: APIMethod<GetTypePropertyParams, TypeResponse[] | null>;
    getLocalTypeParametersOfType: APIMethod<GetTypePropertyParams, TypeResponse[] | null>;
    getThisTypeOfType: APIMethod<GetTypePropertyParams, TypeResponse | null>;
    getAliasTypeArgumentsOfType: APIMethod<GetTypePropertyParams, TypeResponse[] | null>;
    getAliasSymbolOfType: APIMethod<GetTypePropertyParams, SymbolResponse | null>;
    getObjectTypeOfType: APIMethod<GetTypePropertyParams, TypeResponse>;
    getIndexTypeOfType: APIMethod<GetTypePropertyParams, TypeResponse>;
    getCheckTypeOfType: APIMethod<GetTypePropertyParams, TypeResponse>;
    getExtendsTypeOfType: APIMethod<GetTypePropertyParams, TypeResponse>;
    getBaseTypeOfType: APIMethod<GetTypePropertyParams, TypeResponse>;
    getConstraintOfType: APIMethod<GetTypePropertyParams, TypeResponse>;
    getTypeParameterOfMappedType: APIMethod<GetTypePropertyParams, TypeResponse>;
    getConstraintTypeOfMappedType: APIMethod<GetTypePropertyParams, TypeResponse>;
    getNameTypeOfMappedType: APIMethod<GetTypePropertyParams, TypeResponse | null>;
    getTemplateTypeOfMappedType: APIMethod<GetTypePropertyParams, TypeResponse>;
    getTypeParametersOfSignature: APIMethod<GetSignaturePropertyParams, TypeResponse[] | null>;
    getParametersOfSignature: APIMethod<GetSignaturePropertyParams, SymbolResponse[] | null>;
    getThisParameterOfSignature: APIMethod<GetSignaturePropertyParams, SymbolResponse | null>;
    getTargetOfSignature: APIMethod<GetSignaturePropertyParams, SignatureResponse | null>;
    getContextualType: APIMethod<GetContextualTypeParams, TypeResponse | null>;
    getContextualTypeForArgument: APIMethod<GetContextualTypeForArgumentParams, TypeResponse | null>;
    getAwaitedType: APIMethod<CheckerTypeParams, TypeResponse | null>;
    getBaseTypeOfLiteralType: APIMethod<GetBaseTypeOfLiteralTypeParams, TypeResponse>;
    getNonNullableType: APIMethod<GetTypePropertyParams, TypeResponse>;
    getTypeFromTypeNode: APIMethod<GetTypeFromTypeNodeParams, TypeResponse>;
    getWidenedType: APIMethod<GetWidenedTypeParams, TypeResponse>;
    getParameterType: APIMethod<GetParameterTypeParams, TypeResponse>;
    getTypeParameterAtPosition: APIMethod<GetParameterTypeParams, TypeResponse>;
    isArrayLikeType: APIMethod<IsArrayLikeTypeParams, boolean>;
    isTypeAssignableTo: APIMethod<IsTypeAssignableToParams, boolean>;
    getShorthandAssignmentValueSymbol: APIMethod<GetTypeAtLocationParams, SymbolResponse | null>;
    getTypeOfSymbolAtLocation: APIMethod<GetTypeOfSymbolAtLocationParams, TypeResponse>;
    typeToTypeNode: APIMethod<TypeToTypeNodeParams, SourceFileResponse | null>;
    signatureToSignatureDeclaration: APIMethod<SignatureToSignatureDeclarationParams, SourceFileResponse | null>;
    typeToString: APIMethod<TypeToTypeNodeParams, unknown>;
    isContextSensitive: APIMethod<GetContextualTypeParams, boolean>;
    getReturnTypeOfSignature: APIMethod<GetSignaturePropertyParams, TypeResponse>;
    getRestTypeOfSignature: APIMethod<CheckerSignatureParams, TypeResponse>;
    getTypePredicateOfSignature: APIMethod<CheckerSignatureParams, TypePredicateResponse | null>;
    getBaseTypes: APIMethod<CheckerTypeParams, TypeResponse[] | null>;
    getPropertiesOfType: APIMethod<CheckerTypeParams, SymbolResponse[] | null>;
    getApparentPropertiesOfType: APIMethod<GetTypePropertyParams, SymbolResponse[]>;
    getApparentType: APIMethod<GetTypePropertyParams, TypeResponse>;
    getReducedType: APIMethod<GetTypePropertyParams, TypeResponse>;
    getPropertyOfType: APIMethod<GetPropertyOfTypeParams, SymbolResponse | null>;
    getTypeOfPropertyOfType: APIMethod<GetPropertyOfTypeParams, TypeResponse | null>;
    getIndexInfoOfType: APIMethod<GetIndexInfoOfTypeParams, IndexInfoResponse | null>;
    getIndexInfosOfType: APIMethod<CheckerTypeParams, IndexInfoResponse[] | null>;
    getConstraintOfTypeParameter: APIMethod<GetTypePropertyParams, TypeResponse | null>;
    getDefaultFromTypeParameter: APIMethod<GetTypePropertyParams, TypeResponse | null>;
    getBaseConstraintOfType: APIMethod<CheckerTypeParams, TypeResponse | null>;
    getTypeArguments: APIMethod<CheckerTypeParams, TypeResponse[] | null>;
    getImportAdderEdits: APIMethod<GetImportAdderEditsParams, TextEdit[]>;
    getTrueTypeOfConditionalType: APIMethod<GetTypePropertyParams, TypeResponse>;
    getFalseTypeOfConditionalType: APIMethod<GetTypePropertyParams, TypeResponse>;
    getConstantValue: APIMethod<CheckerNodeParams, ConstantValueResponse | null>;
    getSignatureFromDeclaration: APIMethod<CheckerNodeParams, SignatureResponse>;
    getExportSpecifierLocalTargetSymbol: APIMethod<CheckerNodeParams, SymbolResponse | null>;
    getAliasedSymbol: APIMethod<CheckerSymbolParams, SymbolResponse>;
    getImmediateAliasedSymbol: APIMethod<CheckerSymbolParams, SymbolResponse | null>;
    getTargetSymbol: APIMethod<CheckerSymbolParams, SymbolResponse>;
    getMergedSymbol: APIMethod<CheckerSymbolParams, SymbolResponse>;
    getSymbolOfNode: APIMethod<CheckerNodeParams, SymbolResponse | null>;
    getSymbolOfDeclarationForChecker: APIMethod<CheckerNodeParams, SymbolResponse | null>;
    getParentOfSymbolForChecker: APIMethod<CheckerSymbolParams, SymbolResponse | null>;
    getExportSymbolOfSymbolForChecker: APIMethod<CheckerSymbolParams, SymbolResponse>;
    getFullyQualifiedName: APIMethod<CheckerSymbolParams, string>;
    getExportsOfModule: APIMethod<CheckerSymbolParams, SymbolResponse[] | null>;
    getMemberInModuleExports: APIMethod<GetMemberInModuleExportsParams, SymbolResponse | null>;
    getJsDocTags: APIMethod<CheckerSymbolParams, JSDocTagInfo[] | null>;
    getDocumentationComment: APIMethod<CheckerSymbolParams, string>;
    isArrayType: APIMethod<CheckerTypeParams, boolean>;
    isReadonlySymbol: APIMethod<CheckerSymbolParams, boolean>;
    getReferencesToSymbolInFile: APIMethod<GetReferencesToSymbolInFileParams, string[]>;
    getReferencedSymbolsForNode: APIMethod<GetReferencedSymbolsForNodeParams, ReferencedSymbolEntry[] | null>;
    getSignatureUsages: APIMethod<GetSignatureUsagesParams, SignatureUsageResponse[] | null>;
    getCompletionsAtPosition: APIMethod<GetCompletionsAtPositionParams, CompletionInfoResponse | null>;
    formatNodeForInsertion: APIMethod<FormatNodeForInsertionParams, string>;
    getSyntacticDiagnostics: APIMethod<GetDiagnosticsParams, DiagnosticResponse[] | null>;
    getBindDiagnostics: APIMethod<GetDiagnosticsParams, DiagnosticResponse[] | null>;
    getSemanticDiagnostics: APIMethod<GetDiagnosticsParams, DiagnosticResponse[] | null>;
    getSuggestionDiagnostics: APIMethod<GetDiagnosticsParams, DiagnosticResponse[] | null>;
    getDeclarationDiagnostics: APIMethod<GetDiagnosticsParams, DiagnosticResponse[] | null>;
    getProgramDiagnostics: APIMethod<GetProjectDiagnosticsParams, DiagnosticResponse[] | null>;
    getGlobalDiagnostics: APIMethod<GetProjectDiagnosticsParams, DiagnosticResponse[] | null>;
    getConfigFileParsingDiagnostics: APIMethod<GetProjectDiagnosticsParams, DiagnosticResponse[] | null>;
    printNode: APIMethod<PrintNodeParams, string>;
    emit: APIMethod<EmitParams, EmitResponse>;
    emitToString: APIMethod<EmitParams, EmitOutputResponse>;
    getJavaScriptEmit: APIMethod<SelectedFilesEmitParams, EmitOutputResponse>;
    getDeclarationEmit: APIMethod<SelectedFilesEmitParams, EmitOutputResponse>;
    getAnyType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
    getStringType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
    getNumberType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
    getBooleanType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
    getVoidType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
    getUndefinedType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
    getNullType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
    getNeverType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
    getUnknownType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
    getBigIntType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
    getESSymbolType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
    getNonPrimitiveType: APIMethod<GetIntrinsicTypeParams, TypeResponse>;
    getWellKnownSymbols: APIMethod<GetIntrinsicTypeParams, WellKnownSymbolsResponse>;
    getWellKnownSignatures: APIMethod<GetIntrinsicTypeParams, WellKnownSignaturesResponse>;
    startCPUProfile: APIMethod<ProfileParams, void>;
    stopCPUProfile: APIMethod<null, ProfileResult>;
    saveHeapProfile: APIMethod<ProfileParams, ProfileResult>;
}
export type DocumentIdentifier = string | {
    uri: string;
};
export type ResolutionMode = ModuleKind.None | ModuleKind.CommonJS | ModuleKind.ESNext;
export type EnsurePrograms = true | readonly ProjectId[];
export type InferredProjectId = string & {
    __inferredProjectIdBrand: any;
};
export type ConfiguredProjectId = PathKey & {
    __configuredProjectIdBrand: any;
};
export type SyntheticProjectId = string & {
    __syntheticProjectIdBrand: any;
};
export type ProjectId = InferredProjectId | ConfiguredProjectId | SyntheticProjectId;
/** ReleaseParams are the parameters for the release method. */
export interface ReleaseParams {
    snapshot: number;
}
export interface ReleaseSourceFileParams {
    lease: number;
}
export interface RetainSourceFileParams {
    file: SourceFileDescriptor;
}
export interface RetainSourceFileResponse {
    lease: number;
}
/**
 * GetCachedSourceFileParams address an ordinary cached source file by its complete identity,
 * independent of any snapshot or lease.
 */
export interface GetCachedSourceFileParams {
    file: SourceFileDescriptor;
}
/**
 * SourceFileResponse contains the binary-encoded AST data for a source file.
 * The Data field is base64-encoded binary data in the encoder's format.
 */
export interface SourceFileResponse {
    /** Data is the base64-encoded binary AST data in the encoder's format. */
    data: string;
}
export interface GetSymbolOfDeclarationParams {
    file: SourceFileDescriptor;
    index: number;
}
export interface SymbolResponse {
    reference: SymbolReference;
    name: string;
    flags: number;
    checkFlags?: number | undefined;
    declarations?: string[] | undefined;
    valueDeclaration?: string | undefined;
    parent?: CompactSymbolReference | undefined;
    exportSymbol?: CompactSymbolReference | undefined;
}
export interface BatchRequestsParams {
    requests: readonly BatchRequest[] | null;
    continuationToken?: string | undefined;
    maxResponseBytesPerPage?: number | undefined;
}
export interface BatchRequestsResponse {
    responses: BatchResponse[];
    continuationToken?: string | undefined;
}
/** InitializeResponse is returned by the initialize method. */
export interface InitializeResponse {
    /** CaseSensitivity determines how the host file system compares paths. */
    caseSensitivity: CaseSensitivity;
    /** CurrentDirectory is the server's current working directory. */
    currentDirectory: RootedDirectoryPath;
}
/** CreateSnapshotParams are the parameters for creating a new independent snapshot. */
export interface CreateSnapshotParams extends SnapshotRequestChangesParams {
    /** UserPreferences configures language service behavior in the new snapshot. */
    userPreferences?: UserPreferences | undefined;
    /** PrepareAutoImports identifies the file whose auto-import indexes should be ready in the new snapshot. */
    prepareAutoImports?: DocumentIdentifier | undefined;
    /** FileNotifications describes host file system changes to invalidate while creating the snapshot. */
    fileNotifications?: FileNotifications | undefined;
    /**
     * FileSystem supplies file contents and directory listings for the new snapshot.
     * A full filesystem is canonical and total. A filesystem layer is checked
     * before falling back to the base snapshot or host filesystem.
     */
    fileSystem?: RequestFileSystem | undefined;
}
/** CreateSnapshotResponse is returned by createSnapshot. */
export interface CreateSnapshotResponse {
    /** Snapshot is the handle for the newly created snapshot. */
    snapshot: number;
    /**
     * Projects contains all projects when no response base was supplied, or only
     * projects added or replaced relative to that base.
     */
    projects: ProjectResponse[];
    /** Changes describes source file differences from the response base. */
    changes?: SnapshotChanges | undefined;
    /** Operation describes results correlated with the request that produced the snapshot. */
    operation: SnapshotOperationResponse;
}
export interface UpdateSnapshotParams {
    snapshot: number;
    changes?: CreateSnapshotParams | undefined;
}
export interface GetCurrentLanguageServerSnapshotParams {
    baseSnapshot?: number | undefined;
    changes?: LanguageServerSnapshotChanges | undefined;
}
export interface CreateBuildOrchestratorParams extends BuildOptions, CompilerOptions {
    rootNames: readonly string[] | null;
    cwd?: RootedDirectoryPath | undefined;
}
export interface CreateBuildOrchestratorResponse {
    buildOrchestratorID: number;
}
export interface DisposeBuildOrchestratorParams {
    buildOrchestratorID: number;
}
export interface BuildParams {
    buildOrchestratorID: number;
    project?: string | undefined;
}
export interface BuildResponse {
    status: number;
    diagnostics?: DiagnosticResponse[] | undefined;
    statistics: Statistics;
}
export interface CleanBuildParams {
    buildOrchestratorID: number;
    project?: string | undefined;
}
export interface CleanBuildResponse {
    status: number;
    diagnostics?: DiagnosticResponse[] | undefined;
    statistics: Statistics;
    filesDeleted?: RootedFilePath[] | undefined;
}
export interface CreateModuleResolverParams {
    compilerOptions: CompilerOptions;
    moduleResolutions?: ModuleResolutionSpec | undefined;
    resolveModuleNameCallback?: string | undefined;
}
export interface ReleaseModuleResolverParams {
    resolver: number;
}
export interface ResolveModuleNameParams {
    snapshot?: number | undefined;
    inProgressSnapshot?: number | undefined;
    resolver: number;
    moduleName: string;
    containingDirectory: DocumentIdentifier;
    resolutionMode?: ResolutionMode | undefined;
}
export interface ResolveModuleNameResult {
    resolvedModule?: ResolvedModule | undefined;
    /** Trace is provided when compilerOptions.traceResolution is true. */
    trace?: string[] | undefined;
}
export interface ParseCommandLineParams {
    commandLine: readonly string[] | null;
}
export interface ConfigFileResponse {
    fileNames: RootedFilePath[];
    options: CompilerOptions;
    buildOptions?: BuildOptions | undefined;
    projectReferences?: ProjectReference[] | undefined;
    typeAcquisition?: TypeAcquisition | undefined;
    compileOnSave?: boolean | undefined;
    raw?: unknown | undefined;
    errors: DiagnosticResponse[];
}
export interface ReadConfigFileParams {
    file: DocumentIdentifier;
}
export interface ReadConfigFileResponse {
    config: unknown;
    error?: DiagnosticResponse | undefined;
}
export interface ParseJsonConfigFileContentParams {
    json: unknown;
    configDirectory?: string | undefined;
    configFileName?: DocumentIdentifier | undefined;
}
export interface ParseConfigFileParams {
    file: DocumentIdentifier;
}
export interface CreateSourceFileParams {
    fileName: string;
    sourceText: string;
    options: CreateSourceFileOptions;
}
export interface CreateSourceFileFromFileParams {
    fileName: string;
    options: CreateSourceFileOptions;
}
export interface TranspileParams {
    input: string;
    options: TranspileOptions;
}
export interface TranspileOutputResponse {
    outputText: string;
    diagnostics?: DiagnosticResponse[] | undefined;
    sourceMapText?: string | undefined;
}
export interface TranspileFromFileParams {
    fileName: string;
    options: TranspileOptions;
}
export interface GetDefaultProjectForFileParams {
    snapshot: number;
    file: DocumentIdentifier;
}
export interface ProjectResponse {
    id: ProjectId;
    /** Handle identifies this project's lifetime across snapshots; Id is its logical name. */
    handle: number;
    configFileName?: RootedFilePath | undefined;
    currentDirectory: RootedDirectoryPath;
    dirty: boolean;
    parsedCommandLine: ConfigFileResponse;
}
export interface GetSymbolAtPositionParams {
    snapshot: number;
    project: number;
    file: DocumentIdentifier;
    position: number;
}
export interface GetSymbolsAtPositionsParams {
    snapshot: number;
    project: number;
    file: DocumentIdentifier;
    positions: readonly number[] | null;
}
export interface GetSymbolAtLocationParams {
    snapshot: number;
    project: number;
    location: string;
}
export interface GetSymbolsAtLocationsParams {
    snapshot: number;
    project: number;
    locations: readonly string[] | null;
}
export interface GetSymbolOfSourceFileParams {
    snapshot: number;
    project: number;
    file: DocumentIdentifier;
}
export interface GetSymbolsOfSourceFilesParams {
    snapshot: number;
    project: number;
    files: readonly DocumentIdentifier[] | null;
}
export interface GetTypeOfSymbolParams {
    snapshot: number;
    project: number;
    symbol: SymbolReference;
}
export interface TypeResponse {
    id: number;
    flags: number;
    objectFlags?: number | undefined;
    isTupleType?: boolean | undefined;
    /**
     * Value is literal type data. BigInt literals are encoded as signed decimal
     * strings because JSON cannot represent bigint; absent values are omitted.
     */
    value?: unknown | undefined;
    /** ObjectType / TypeReference / StringMappingType / IndexType target */
    target?: number | undefined;
    /** InterfaceType type parameters */
    typeParameters?: number[] | undefined;
    outerTypeParameters?: number[] | undefined;
    localTypeParameters?: number[] | undefined;
    /** TupleType data */
    elementFlags?: number[] | undefined;
    fixedLength?: number | undefined;
    readonly?: boolean | undefined;
    labeledElementDeclarations?: string[] | undefined;
    /** IndexedAccessType data */
    objectType?: number | undefined;
    indexType?: number | undefined;
    /** ConditionalType data */
    checkType?: number | undefined;
    extendsType?: number | undefined;
    /** SubstitutionType data */
    baseType?: number | undefined;
    substConstraint?: number | undefined;
    /** MappedType data */
    typeParameter?: number | undefined;
    constraintType?: number | undefined;
    nameType?: number | undefined;
    templateType?: number | undefined;
    /** TemplateLiteralType text segments */
    texts?: string[] | undefined;
    /** FreshableType data (LiteralType and computed enum types) */
    freshType?: number | undefined;
    regularType?: number | undefined;
    /** TypeParameter data */
    isThisType?: boolean | undefined;
    /** InterfaceType data */
    thisType?: number | undefined;
    /** IntrinsicType data */
    intrinsicName?: string | undefined;
    /** TypeAlias data */
    aliasTypeArguments?: number[] | undefined;
    aliasSymbol?: CompactSymbolReference | undefined;
    /** Symbol associated with structured types */
    symbol?: CompactSymbolReference | undefined;
}
export interface GetTypesOfSymbolsParams {
    snapshot: number;
    project: number;
    symbols: readonly SymbolReference[] | null;
}
export interface GetSourceFileParams {
    snapshot: number;
    project: number;
    file: DocumentIdentifier;
}
export interface GetSourceFileNamesParams {
    snapshot: number;
    project: number;
}
/** SourceFileMetadata carries program-stored metadata about a single source file. */
export interface SourceFileMetadata {
    isDefaultLibrary: boolean;
    isFromExternalLibrary: boolean;
    packageJsonType: string;
    packageJsonDirectory: RootedDirectoryPath;
    impliedNodeFormat: ModuleKind;
}
export interface GetModeForUsageLocationParams {
    snapshot: number;
    project: number;
    file: DocumentIdentifier;
    usage: string;
}
export interface GetModeForResolutionAtIndexParams {
    snapshot: number;
    project: number;
    file: DocumentIdentifier;
    index: number;
}
export interface GetResolvedModuleParams {
    snapshot: number;
    project: number;
    file: DocumentIdentifier;
    moduleName: string;
    mode: ModuleKind;
}
export interface ResolvedModule {
    resolvedFileName: string;
    originalPath?: string | undefined;
    extension: string;
    resolvedUsingTsExtension?: boolean | undefined;
    resolvedUsingExtraExtensions?: boolean | undefined;
    packageId?: PackageId | undefined;
    isExternalLibraryImport?: boolean | undefined;
    alternateResult?: string | undefined;
}
export interface GetResolvedModuleFromModuleSpecifierParams {
    snapshot: number;
    project: number;
    moduleSpecifier: string;
    sourceFile?: DocumentIdentifier | undefined;
}
export interface GetResolvedTypeReferenceDirectiveParams {
    snapshot: number;
    project: number;
    file: DocumentIdentifier;
    typeDirectiveName: string;
    mode: ModuleKind;
}
export interface ResolvedTypeReferenceDirective {
    primary: boolean;
    resolvedFileName: string;
    originalPath?: string | undefined;
    packageId?: PackageId | undefined;
    isExternalLibraryImport?: boolean | undefined;
}
export interface GetResolvedTypeReferenceDirectiveFromReferenceParams {
    snapshot: number;
    project: number;
    sourceFile: DocumentIdentifier;
    typeDirectiveName: string;
    resolutionMode: ModuleKind;
}
/** GetProjectDiagnosticsParams are parameters for project-wide diagnostic methods. */
export interface GetProjectDiagnosticsParams {
    snapshot: number;
    project: number;
}
export interface ResolveNameParams {
    snapshot: number;
    project: number;
    name: string;
    /** Optional: node handle for location context */
    location?: string | undefined;
    /** Optional: file for location context (alternative to Location) */
    file?: DocumentIdentifier | undefined;
    /** Optional: position in file for location context (with File) */
    position?: number | undefined;
    /** SymbolFlags for what kind of symbol to find */
    meaning: number;
    /** Whether to exclude global symbols */
    excludeGlobals?: boolean | undefined;
}
/**
 * GetSymbolsInScopeParams are parameters for getSymbolsInScope, which returns
 * all symbols visible at a given location.
 */
export interface GetSymbolsInScopeParams {
    snapshot: number;
    project: number;
    /** Optional: node handle for location context */
    location?: string | undefined;
    /** Optional: file for location context (alternative to Location) */
    file?: DocumentIdentifier | undefined;
    /** Optional: position in file for location context (with File) */
    position?: number | undefined;
    /** SymbolFlags for what kind of symbols to find */
    meaning: number;
}
export interface GetSignaturesOfTypeParams {
    snapshot: number;
    project: number;
    type: number;
    kind: number;
}
export interface SignatureResponse {
    id: number;
    flags?: number | undefined;
    declaration?: string | undefined;
    typeParameters?: number[] | undefined;
    parameters?: CompactSymbolReference[] | undefined;
    thisParameter?: CompactSymbolReference | undefined;
    target?: number | undefined;
}
export interface GetResolvedSignatureParams {
    snapshot: number;
    project: number;
    location: string;
}
export interface GetTypeAtLocationParams {
    snapshot: number;
    project: number;
    location: string;
}
export interface GetTypeAtLocationsParams {
    snapshot: number;
    project: number;
    locations: readonly string[] | null;
}
export interface GetTypeAtPositionParams {
    snapshot: number;
    project: number;
    file: DocumentIdentifier;
    position: number;
}
export interface GetTypesAtPositionsParams {
    snapshot: number;
    project: number;
    file: DocumentIdentifier;
    positions: readonly number[] | null;
}
/** GetSymbolPropertyParams is used for all symbol sub-property endpoints. */
export interface GetSymbolPropertyParams {
    symbol: SymbolReference;
}
/** GetTypePropertyParams is used for all type sub-property endpoints. */
export interface GetTypePropertyParams {
    snapshot: number;
    project: number;
    objectId: number;
}
/** GetSignaturePropertyParams is used for all signature sub-property endpoints. */
export interface GetSignaturePropertyParams {
    snapshot: number;
    project: number;
    objectId: number;
}
/** GetContextualTypeParams returns the contextual type for a node. */
export interface GetContextualTypeParams {
    snapshot: number;
    project: number;
    location: string;
}
export interface GetContextualTypeForArgumentParams {
    snapshot: number;
    project: number;
    location: string;
    index: number;
}
/** CheckerTypeParams are parameters for checker methods that operate on a type. */
export interface CheckerTypeParams {
    snapshot: number;
    project: number;
    type: number;
}
/** GetBaseTypeOfLiteralTypeParams returns the base type of a literal type. */
export interface GetBaseTypeOfLiteralTypeParams {
    snapshot: number;
    project: number;
    type: number;
}
/** GetTypeFromTypeNodeParams are the parameters for the getTypeFromTypeNode method. */
export interface GetTypeFromTypeNodeParams {
    snapshot: number;
    project: number;
    location: string;
}
/** GetWidenedTypeParams are the parameters for the getWidenedType method. */
export interface GetWidenedTypeParams {
    snapshot: number;
    project: number;
    type: number;
}
/** GetParameterTypeParams are the parameters for the getParameterType method. */
export interface GetParameterTypeParams {
    snapshot: number;
    project: number;
    signature: number;
    index: number;
}
/** IsArrayLikeTypeParams checks whether a type is array-like. */
export interface IsArrayLikeTypeParams {
    snapshot: number;
    project: number;
    type: number;
}
/** IsTypeAssignableToParams checks assignability between two types. */
export interface IsTypeAssignableToParams {
    snapshot: number;
    project: number;
    source: number;
    target: number;
}
/** GetTypeOfSymbolAtLocationParams returns the narrowed type of a symbol at a specific location. */
export interface GetTypeOfSymbolAtLocationParams {
    snapshot: number;
    project: number;
    symbol: SymbolReference;
    location: string;
}
/** TypeToTypeNodeParams are the parameters for the typeToTypeNode method. */
export interface TypeToTypeNodeParams {
    snapshot: number;
    project: number;
    type: number;
    location?: string | undefined;
    flags?: number | undefined;
}
/** SignatureToSignatureDeclarationParams are the parameters for the signatureToSignatureDeclaration method. */
export interface SignatureToSignatureDeclarationParams {
    snapshot: number;
    project: number;
    signature: number;
    kind: number;
    location?: string | undefined;
    flags?: number | undefined;
}
/** CheckerSignatureParams are parameters for checker methods that operate on a signature. */
export interface CheckerSignatureParams {
    snapshot: number;
    project: number;
    signature: number;
}
/** TypePredicateResponse is the response for getTypePredicateOfSignature. */
export interface TypePredicateResponse {
    kind: number;
    parameterIndex: number;
    parameterName?: string | undefined;
    type?: TypeResponse | undefined;
}
/** GetPropertyOfTypeParams are parameters for getPropertyOfType (a named property of a type). */
export interface GetPropertyOfTypeParams {
    snapshot: number;
    project: number;
    type: number;
    name: string;
}
export interface GetIndexInfoOfTypeParams {
    snapshot: number;
    project: number;
    type: number;
    kind: number;
}
/** IndexInfoResponse represents a single index signature. */
export interface IndexInfoResponse {
    keyType: TypeResponse;
    valueType: TypeResponse;
    isReadonly?: boolean | undefined;
    declaration?: string | undefined;
}
export interface GetImportAdderEditsParams {
    snapshot: number;
    project: number;
    file: DocumentIdentifier;
    actions: readonly ImportAdderAction[] | null;
}
export interface TextEdit {
    pos: number;
    end: number;
    newText: string;
}
/** CheckerNodeParams are parameters for checker methods that operate on a node location. */
export interface CheckerNodeParams {
    snapshot: number;
    project: number;
    location: string;
}
export interface ConstantValueResponse {
    isNumber: boolean;
    value: unknown;
}
/** CheckerSymbolParams are parameters for checker methods that operate on a symbol. */
export interface CheckerSymbolParams {
    snapshot: number;
    project: number;
    symbol: SymbolReference;
}
/** GetMemberInModuleExportsParams are parameters for getMemberInModuleExports. */
export interface GetMemberInModuleExportsParams {
    snapshot: number;
    project: number;
    symbol: SymbolReference;
    name: string;
}
/**
 * JSDocTagInfo is a single JSDoc tag, mirroring Strada's JSDocTagInfo but with the tag text
 * rendered as a plain string rather than SymbolDisplayPart[].
 */
export interface JSDocTagInfo {
    name: string;
    text?: string | undefined;
}
/** GetReferencesToSymbolInFileParams are the parameters for the getReferencesToSymbolInFile method. */
export interface GetReferencesToSymbolInFileParams {
    snapshot: number;
    project: number;
    file: DocumentIdentifier;
    symbol: SymbolReference;
}
/** GetReferencedSymbolsForNodeParams are the parameters for the getReferencedSymbolsForNode method. */
export interface GetReferencedSymbolsForNodeParams {
    snapshot: number;
    project: number;
    node: string;
    position: number;
}
/** ReferencedSymbolEntry represents a symbol definition and its references. */
export interface ReferencedSymbolEntry {
    definition: string;
    symbol?: SymbolResponse | undefined;
    references: string[];
}
/** GetSignatureUsagesParams are the parameters for the getSignatureUsages method. */
export interface GetSignatureUsagesParams {
    snapshot: number;
    project: number;
    signatureDecl: string;
}
/** SignatureUsageResponse represents a single usage of a signature as a name-call pair. */
export interface SignatureUsageResponse {
    name: string;
    call?: string | undefined;
}
/** GetCompletionsAtPositionParams are the parameters for the getCompletionsAtPosition method. */
export interface GetCompletionsAtPositionParams {
    snapshot: number;
    project: number;
    file: DocumentIdentifier;
    position: number;
    triggerCharacter?: string | undefined;
    includeSymbol?: boolean | undefined;
}
/** CompletionInfoResponse wraps a list of completion entries. */
export interface CompletionInfoResponse {
    isIncomplete: boolean;
    entries: CompletionEntryResponse[];
}
/** FormatNodeForInsertionParams are the parameters for the formatNodeForInsertion method. */
export interface FormatNodeForInsertionParams {
    snapshot: number;
    project: number;
    /** target file where the node will be inserted */
    file: DocumentIdentifier;
    /** UTF-16 code-unit offset of the insertion position in the target file */
    position: number;
    /** base64-encoded binary AST data for the synthesized node */
    data: string;
}
/** GetDiagnosticsParams are parameters for per-file diagnostic methods. */
export interface GetDiagnosticsParams {
    snapshot: number;
    project: number;
    files?: readonly DocumentIdentifier[] | undefined;
}
/** DiagnosticResponse is the API response for a single diagnostic. */
export interface DiagnosticResponse {
    /** The file name of the file this diagnostic belongs to, if any. */
    fileName?: RootedFilePath | undefined;
    /** Pos is the start position of the diagnostic in the source file. */
    pos: number;
    /** End is the end position of the diagnostic in the source file. */
    end: number;
    /** StartPosition is the zero-based line and UTF-16 character position of Pos. */
    startPosition?: DiagnosticPositionResponse | undefined;
    /** EndPosition is the zero-based line and UTF-16 character position of End. */
    endPosition?: DiagnosticPositionResponse | undefined;
    /** SourceLines contains the source lines needed to render this diagnostic with context. */
    sourceLines?: DiagnosticSourceLineResponse[] | undefined;
    /** Code is the diagnostic error code. */
    code: number;
    /** Category is the diagnostic category (error, warning, suggestion, message). */
    category: number;
    /** Source is a custom diagnostic-code prefix. An empty value uses the default "TS". */
    source?: string | undefined;
    /** Text is the localized diagnostic message text. */
    text: string;
    /** ReportsUnnecessary indicates this diagnostic highlights unnecessary code. */
    reportsUnnecessary?: boolean | undefined;
    /** ReportsDeprecated indicates this diagnostic highlights deprecated code. */
    reportsDeprecated?: boolean | undefined;
    /** MessageChain contains chained diagnostic messages, if any. */
    messageChain?: DiagnosticResponse[] | undefined;
    /** RelatedInformation contains related diagnostic information, if any. */
    relatedInformation?: DiagnosticResponse[] | undefined;
}
/** PrintNodeParams are the parameters for the printNode method. */
export interface PrintNodeParams {
    /** base64-encoded binary AST data */
    data: string;
    preserveSourceNewlines?: boolean | undefined;
    neverAsciiEscape?: boolean | undefined;
    terminateUnterminatedLiterals?: boolean | undefined;
}
export interface EmitParams {
    snapshot: number;
    project: number;
    emitOnly?: number | undefined;
}
export interface EmitResponse {
    emitSkipped: boolean;
    diagnostics: DiagnosticResponse[];
    emittedFiles: RootedFilePath[];
    /**
     * EmittedFilesContents contains contents parallel to EmittedFiles when the
     * source snapshot uses a full filesystem. It is empty for write-through emits.
     */
    emittedFilesContents: string[];
}
export interface EmitOutputResponse {
    emitSkipped: boolean;
    diagnostics: DiagnosticResponse[];
    outputFiles: EmitOutputFile[];
}
export interface SelectedFilesEmitParams {
    snapshot: number;
    project: number;
    files: readonly DocumentIdentifier[] | null;
}
/** GetIntrinsicTypeParams is used for intrinsic type getters (anyType, stringType, etc.). */
export interface GetIntrinsicTypeParams {
    snapshot: number;
    project: number;
}
/**
 * WellKnownSymbolsResponse carries the handle ids of the per-checker singleton
 * symbols (unknown, undefined, arguments) so the client can identify them by id
 * without a round-trip on every check.
 */
export interface WellKnownSymbolsResponse {
    unknown: number;
    undefined: number;
    arguments: number;
}
/**
 * WellKnownSignaturesResponse carries the handle id of the per-checker singleton
 * unknown signature (the signature the checker yields when a call cannot be
 * resolved) so the client can identify it by id without a round-trip on every check.
 */
export interface WellKnownSignaturesResponse {
    unknown: number;
}
export interface ProfileParams {
    dir: string;
}
export interface ProfileResult {
    file: RootedFilePath;
}
export interface SourceFileDescriptor {
    fileName: RootedFilePath;
    path: PathKey;
    contentHash: string;
    parseOptionsKey: string;
    scriptKind: ScriptKind;
    nodeId: string;
}
/** SymbolReference identifies a symbol and its server-resolvable owner. */
export interface SymbolReference extends SymbolOwner {
    id: number;
}
/**
 * CompactSymbolReference is embedded in other responses. It identifies a cached
 * symbol without repeating its owning file's full descriptor: File is the owning source file's
 * node ID, or empty for a symbol owned by the response's snapshot. When the client has not cached
 * the symbol, it fetches a full SymbolResponse through the corresponding property method.
 */
export interface CompactSymbolReference {
    id: number;
    file?: string | undefined;
}
export interface BatchRequest {
    method: "batchRequests" | "build" | "buildReferences" | "cleanBuild" | "cleanReferences" | "createBuildOrchestrator" | "createModuleResolver" | "createSnapshot" | "createSourceFile" | "createSourceFileFromFile" | "disposeBuildOrchestrator" | "emit" | "emitToString" | "formatNodeForInsertion" | "getAliasSymbolOfType" | "getAliasTypeArgumentsOfType" | "getAliasedSymbol" | "getAnyType" | "getApparentPropertiesOfType" | "getApparentType" | "getAwaitedType" | "getBaseConstraintOfType" | "getBaseTypeOfLiteralType" | "getBaseTypeOfType" | "getBaseTypes" | "getBigIntType" | "getBindDiagnostics" | "getBooleanType" | "getCachedSourceFile" | "getCheckTypeOfType" | "getCompletionsAtPosition" | "getConfigFileNames" | "getConfigFileParsingDiagnostics" | "getConfigSourceFile" | "getConstantValue" | "getConstraintOfType" | "getConstraintOfTypeParameter" | "getConstraintTypeOfMappedType" | "getContextualType" | "getContextualTypeForArgument" | "getCurrentLanguageServerSnapshot" | "getDeclarationDiagnostics" | "getDeclarationEmit" | "getDeclaredTypeOfSymbol" | "getDefaultFromTypeParameter" | "getDefaultProjectForFile" | "getDocumentationComment" | "getESSymbolType" | "getExportSpecifierLocalTargetSymbol" | "getExportSymbolOfSymbol" | "getExportSymbolOfSymbolForChecker" | "getExportsOfModule" | "getExportsOfSymbol" | "getExtendsTypeOfType" | "getFalseTypeOfConditionalType" | "getFreshTypeOfType" | "getFullyQualifiedName" | "getGlobalDiagnostics" | "getImmediateAliasedSymbol" | "getImportAdderEdits" | "getIndexInfoOfType" | "getIndexInfosOfType" | "getIndexTypeOfType" | "getJavaScriptEmit" | "getJsDocTags" | "getLocalTypeParametersOfType" | "getMemberInModuleExports" | "getMembersOfSymbol" | "getMergedSymbol" | "getModeForResolutionAtIndex" | "getModeForUsageLocation" | "getNameTypeOfMappedType" | "getNeverType" | "getNonMissingTypeOfSymbol" | "getNonNullableType" | "getNonPrimitiveType" | "getNullType" | "getNumberType" | "getObjectTypeOfType" | "getOuterTypeParametersOfType" | "getParameterType" | "getParametersOfSignature" | "getParentOfSymbol" | "getParentOfSymbolForChecker" | "getProgramDiagnostics" | "getPropertiesOfType" | "getPropertyOfType" | "getReducedType" | "getReferencedSymbolsForNode" | "getReferencesToSymbolInFile" | "getRegularTypeOfType" | "getResolvedModule" | "getResolvedModuleFromModuleSpecifier" | "getResolvedSignature" | "getResolvedTypeReferenceDirective" | "getResolvedTypeReferenceDirectiveFromTypeReferenceDirective" | "getRestTypeOfSignature" | "getReturnTypeOfSignature" | "getSemanticDiagnostics" | "getShorthandAssignmentValueSymbol" | "getSignatureFromDeclaration" | "getSignatureUsages" | "getSignaturesOfType" | "getSourceFile" | "getSourceFileMetadata" | "getSourceFileNames" | "getStringType" | "getSuggestionDiagnostics" | "getSymbolAtLocation" | "getSymbolAtPosition" | "getSymbolOfDeclaration" | "getSymbolOfDeclarationForChecker" | "getSymbolOfNode" | "getSymbolOfSourceFile" | "getSymbolOfType" | "getSymbolsAtLocations" | "getSymbolsAtPositions" | "getSymbolsInScope" | "getSymbolsOfSourceFiles" | "getSyntacticDiagnostics" | "getTargetOfSignature" | "getTargetOfType" | "getTargetSymbol" | "getTemplateTypeOfMappedType" | "getThisParameterOfSignature" | "getThisTypeOfType" | "getTrueTypeOfConditionalType" | "getTypeArguments" | "getTypeAtLocation" | "getTypeAtLocations" | "getTypeAtPosition" | "getTypeFromTypeNode" | "getTypeOfPropertyOfType" | "getTypeOfSymbol" | "getTypeOfSymbolAtLocation" | "getTypeParameterAtPosition" | "getTypeParameterOfMappedType" | "getTypeParametersOfSignature" | "getTypeParametersOfType" | "getTypePredicateOfSignature" | "getTypesAtPositions" | "getTypesOfSymbols" | "getTypesOfType" | "getUndefinedType" | "getUnknownType" | "getVoidType" | "getWellKnownSignatures" | "getWellKnownSymbols" | "getWidenedType" | "initialize" | "isArrayLikeType" | "isArrayType" | "isContextSensitive" | "isReadonlySymbol" | "isTypeAssignableTo" | "parseCommandLine" | "parseConfigFile" | "parseJsonConfigFileContent" | "printNode" | "readConfigFile" | "release" | "releaseModuleResolver" | "releaseSourceFile" | "resolveModuleName" | "resolveName" | "retainSourceFile" | "saveHeapProfile" | "signatureToSignatureDeclaration" | "startCPUProfile" | "stopCPUProfile" | "transpileDeclaration" | "transpileDeclarationFromFile" | "transpileModule" | "transpileModuleFromFile" | "typeToString" | "typeToTypeNode" | "updateSnapshot";
    params?: unknown | undefined;
}
export interface BatchResponse {
    method: "batchRequests" | "build" | "buildReferences" | "cleanBuild" | "cleanReferences" | "createBuildOrchestrator" | "createModuleResolver" | "createSnapshot" | "createSourceFile" | "createSourceFileFromFile" | "disposeBuildOrchestrator" | "emit" | "emitToString" | "formatNodeForInsertion" | "getAliasSymbolOfType" | "getAliasTypeArgumentsOfType" | "getAliasedSymbol" | "getAnyType" | "getApparentPropertiesOfType" | "getApparentType" | "getAwaitedType" | "getBaseConstraintOfType" | "getBaseTypeOfLiteralType" | "getBaseTypeOfType" | "getBaseTypes" | "getBigIntType" | "getBindDiagnostics" | "getBooleanType" | "getCachedSourceFile" | "getCheckTypeOfType" | "getCompletionsAtPosition" | "getConfigFileNames" | "getConfigFileParsingDiagnostics" | "getConfigSourceFile" | "getConstantValue" | "getConstraintOfType" | "getConstraintOfTypeParameter" | "getConstraintTypeOfMappedType" | "getContextualType" | "getContextualTypeForArgument" | "getCurrentLanguageServerSnapshot" | "getDeclarationDiagnostics" | "getDeclarationEmit" | "getDeclaredTypeOfSymbol" | "getDefaultFromTypeParameter" | "getDefaultProjectForFile" | "getDocumentationComment" | "getESSymbolType" | "getExportSpecifierLocalTargetSymbol" | "getExportSymbolOfSymbol" | "getExportSymbolOfSymbolForChecker" | "getExportsOfModule" | "getExportsOfSymbol" | "getExtendsTypeOfType" | "getFalseTypeOfConditionalType" | "getFreshTypeOfType" | "getFullyQualifiedName" | "getGlobalDiagnostics" | "getImmediateAliasedSymbol" | "getImportAdderEdits" | "getIndexInfoOfType" | "getIndexInfosOfType" | "getIndexTypeOfType" | "getJavaScriptEmit" | "getJsDocTags" | "getLocalTypeParametersOfType" | "getMemberInModuleExports" | "getMembersOfSymbol" | "getMergedSymbol" | "getModeForResolutionAtIndex" | "getModeForUsageLocation" | "getNameTypeOfMappedType" | "getNeverType" | "getNonMissingTypeOfSymbol" | "getNonNullableType" | "getNonPrimitiveType" | "getNullType" | "getNumberType" | "getObjectTypeOfType" | "getOuterTypeParametersOfType" | "getParameterType" | "getParametersOfSignature" | "getParentOfSymbol" | "getParentOfSymbolForChecker" | "getProgramDiagnostics" | "getPropertiesOfType" | "getPropertyOfType" | "getReducedType" | "getReferencedSymbolsForNode" | "getReferencesToSymbolInFile" | "getRegularTypeOfType" | "getResolvedModule" | "getResolvedModuleFromModuleSpecifier" | "getResolvedSignature" | "getResolvedTypeReferenceDirective" | "getResolvedTypeReferenceDirectiveFromTypeReferenceDirective" | "getRestTypeOfSignature" | "getReturnTypeOfSignature" | "getSemanticDiagnostics" | "getShorthandAssignmentValueSymbol" | "getSignatureFromDeclaration" | "getSignatureUsages" | "getSignaturesOfType" | "getSourceFile" | "getSourceFileMetadata" | "getSourceFileNames" | "getStringType" | "getSuggestionDiagnostics" | "getSymbolAtLocation" | "getSymbolAtPosition" | "getSymbolOfDeclaration" | "getSymbolOfDeclarationForChecker" | "getSymbolOfNode" | "getSymbolOfSourceFile" | "getSymbolOfType" | "getSymbolsAtLocations" | "getSymbolsAtPositions" | "getSymbolsInScope" | "getSymbolsOfSourceFiles" | "getSyntacticDiagnostics" | "getTargetOfSignature" | "getTargetOfType" | "getTargetSymbol" | "getTemplateTypeOfMappedType" | "getThisParameterOfSignature" | "getThisTypeOfType" | "getTrueTypeOfConditionalType" | "getTypeArguments" | "getTypeAtLocation" | "getTypeAtLocations" | "getTypeAtPosition" | "getTypeFromTypeNode" | "getTypeOfPropertyOfType" | "getTypeOfSymbol" | "getTypeOfSymbolAtLocation" | "getTypeParameterAtPosition" | "getTypeParameterOfMappedType" | "getTypeParametersOfSignature" | "getTypeParametersOfType" | "getTypePredicateOfSignature" | "getTypesAtPositions" | "getTypesOfSymbols" | "getTypesOfType" | "getUndefinedType" | "getUnknownType" | "getVoidType" | "getWellKnownSignatures" | "getWellKnownSymbols" | "getWidenedType" | "initialize" | "isArrayLikeType" | "isArrayType" | "isContextSensitive" | "isReadonlySymbol" | "isTypeAssignableTo" | "parseCommandLine" | "parseConfigFile" | "parseJsonConfigFileContent" | "printNode" | "readConfigFile" | "release" | "releaseModuleResolver" | "releaseSourceFile" | "resolveModuleName" | "resolveName" | "retainSourceFile" | "saveHeapProfile" | "signatureToSignatureDeclaration" | "startCPUProfile" | "stopCPUProfile" | "transpileDeclaration" | "transpileDeclarationFromFile" | "transpileModule" | "transpileModuleFromFile" | "typeToString" | "typeToTypeNode" | "updateSnapshot";
    result: unknown;
    error?: string | undefined;
}
/**
 * SnapshotRequestChangesParams describes project, file, and program changes to apply
 * while creating or updating a snapshot.
 */
export interface SnapshotRequestChangesParams {
    /** OpenProjects lists tsconfig.json files to open/load in the new snapshot. */
    openProjects?: readonly DocumentIdentifier[] | undefined;
    /**
     * CloseProjects lists tsconfig.json files to release in the new snapshot.
     * A project is only unloaded once every API client that opened it closes it.
     */
    closeProjects?: readonly DocumentIdentifier[] | undefined;
    /**
     * OpenFiles lists files to open in the new snapshot, mirroring LSP's
     * textDocument/didOpen. For each file, ancestor directories are searched for a
     * tsconfig that contains it; if found, that configured project is loaded and
     * becomes the file's default project. Otherwise the file is loaded into the
     * inferred project (e.g. a node_modules d.ts not in any project's import graph).
     * If a file cannot be loaded into any project, the request fails.
     */
    openFiles?: readonly DocumentIdentifier[] | undefined;
    /**
     * CloseFiles lists files to release in the new snapshot. A file is only fully
     * closed once every API client that opened it closes it.
     */
    closeFiles?: readonly DocumentIdentifier[] | undefined;
    /** CreatePrograms describes synthetic programs to create in the snapshot. */
    createPrograms?: readonly CreateSnapshotProgramParams[] | undefined;
    /** ReconfigurePrograms replaces the configuration of existing synthetic programs. */
    reconfigurePrograms?: readonly ReconfigureSnapshotProgramParams[] | undefined;
    /** RemovePrograms lists synthetic project handles to remove from the snapshot. */
    removePrograms?: readonly SyntheticProjectId[] | undefined;
    /**
     * EnsurePrograms identifies projects whose programs should be updated if dirty,
     * or all contained projects when true.
     */
    ensurePrograms?: EnsurePrograms | undefined;
}
/**
 * FileNotifications describes changes to files that have occurred on the host
 * file system, used to notify the session to reload cached files and reevaluate
 * tsconfig.json `include` globs. Either InvalidateAll is true (discard all caches)
 * or Changed/Created/Deleted list individual documents.
 */
export interface FileNotifications {
    invalidateAll?: boolean | undefined;
    changed?: DocumentIdentifier[] | undefined;
    created?: DocumentIdentifier[] | undefined;
    deleted?: DocumentIdentifier[] | undefined;
}
/**
 * RequestFileSystem supplies file contents and, optionally, directory listings
 * for a request that creates a snapshot.
 */
export interface RequestFileSystem {
    kind: "full" | "layer";
    /** Files maps file names to their complete contents. */
    files: Record<string, string>;
    /**
     * Directories maps directory names to complete listing results. Directory
     * structure implied by Files is derived when a listing is omitted.
     */
    directories?: Record<string, RequestDirectoryEntries> | undefined;
    /** Symlinks maps link paths to targets in this filesystem or the host filesystem. */
    symlinks?: Record<string, RequestSymlink> | undefined;
    /**
     * RemovedPaths lists files or directory trees that must be treated as missing
     * even when present in an underlying snapshot or host filesystem.
     */
    removedPaths?: string[] | undefined;
}
/**
 * SnapshotChanges describes what changed between a response base and a new
 * snapshot. Changes are reported per-project so clients
 * can track cache refs at the (snapshot, project) level.
 */
export interface SnapshotChanges {
    /**
     * ChangedProjects maps project handles to the file changes within that project.
     * Projects not listed here (and not in RemovedProjects) are unchanged.
     */
    changedProjects?: Record<ProjectId, ProjectFileChanges | null> | undefined;
    /**
     * RemovedProjects lists project handles that were present in the previous
     * snapshot but absent from the new one.
     */
    removedProjects?: ProjectId[] | undefined;
}
export interface SnapshotOperationResponse {
    createdPrograms?: SyntheticProjectId[] | undefined;
    openedFiles?: OpenedFileOperationResult[] | undefined;
}
/**
 * LanguageServerSnapshotChanges describes API-driven changes to adopt into the
 * language server's canonical state.
 */
export interface LanguageServerSnapshotChanges extends SnapshotRequestChangesParams {
}
export interface BuildOptions {
    dry?: boolean | undefined;
    force?: boolean | undefined;
    verbose?: boolean | undefined;
    builders?: number | undefined;
    stopBuildOnErrors?: boolean | undefined;
    clean?: boolean | undefined;
}
export interface Statistics {
    Projects: number;
    ProjectsBuilt: number;
    TimestampUpdates: number;
}
export interface ModuleResolutionSpec {
    fallback: "resolve" | "unresolved";
    entries: ModuleResolutionEntry[];
}
export interface ProjectReference {
    /** Path is a normalized path on disk. */
    path: RootedPath;
    /** OriginalPath is the path as it was originally written. */
    originalPath?: string | undefined;
    /** Circular indicates that this reference is intended to form a circularity. */
    circular?: boolean | undefined;
}
export interface TypeAcquisition {
    enable?: boolean | undefined;
    include?: string[] | undefined;
    exclude?: string[] | undefined;
    disableFilenameBasedTypeAcquisition?: boolean | undefined;
}
export interface CreateSourceFileOptions {
    scriptKind?: ScriptKind | undefined;
}
export interface TranspileOptions {
    compilerOptions?: RawCompilerOptions | undefined;
    fileName?: string | undefined;
    reportDiagnostics?: boolean | undefined;
}
export interface PackageId {
    name: string;
    subModuleName: string;
    version: string;
    peerDependencies: string;
}
export interface ImportAdderAction {
    kind: "importSymbol";
    symbol?: SymbolReference | undefined;
    isValidTypeOnlyUseSite?: boolean | undefined;
}
/** CompletionEntryResponse represents a single completion item. */
export interface CompletionEntryResponse {
    name: string;
    kind?: number | undefined;
    sortText?: string | undefined;
    insertText?: string | undefined;
    filterText?: string | undefined;
    detail?: string | undefined;
    labelDetails?: CompletionEntryLabelDetailsResponse | undefined;
    symbol?: SymbolResponse | undefined;
}
export interface DiagnosticPositionResponse {
    line: number;
    character: number;
}
export interface DiagnosticSourceLineResponse {
    line: number;
    text: string;
}
export interface EmitOutputFile {
    fileName: RootedFilePath;
    text: string;
    sourceFileName?: RootedFilePath | undefined;
}
export interface SymbolOwner {
    kind: SymbolOwnerKind;
    file?: SourceFileDescriptor | undefined;
    snapshot?: number | undefined;
    project?: number | undefined;
}
export interface CreateSnapshotProgramParams {
    rootFiles: readonly DocumentIdentifier[] | null;
    compilerOptions: RawCompilerOptions;
    options?: CreateProgramOptions | undefined;
}
export interface ReconfigureSnapshotProgramParams {
    id: SyntheticProjectId;
    rootFiles: readonly DocumentIdentifier[] | null;
    compilerOptions: RawCompilerOptions;
    options?: CreateProgramOptions | undefined;
}
/**
 * RequestDirectoryEntries is a cached directory listing. Entry names are
 * relative to the directory, matching vfs.GetAccessibleEntries.
 */
export interface RequestDirectoryEntries {
    files: string[];
    directories: string[];
}
/** RequestSymlink describes a symbolic link in a request filesystem. */
export interface RequestSymlink {
    /**
     * Target is resolved relative to the directory containing the link, matching
     * native symbolic-link semantics.
     */
    target: string;
    /**
     * Host routes the target through the host filesystem. This is the only way a
     * full filesystem can access paths not supplied in the request filesystem.
     */
    host?: boolean | undefined;
}
/** ProjectFileChanges describes what source files changed within a single project. */
export interface ProjectFileChanges {
    /** ChangedFiles lists source file paths whose content differs. */
    changedFiles?: PathKey[] | undefined;
    /** DeletedFiles lists source file paths removed from the project's program. */
    deletedFiles?: PathKey[] | undefined;
}
export interface OpenedFileOperationResult {
    project: ProjectId;
}
export interface ModuleResolutionEntry {
    moduleName: string;
    containingDirectory?: DocumentIdentifier | undefined;
    resolutionMode?: ResolutionMode | undefined;
    result: StaticModuleResolution;
}
/** CompletionEntryLabelDetailsResponse holds additional label display text for a completion entry. */
export interface CompletionEntryLabelDetailsResponse {
    detail?: string | undefined;
    description?: string | undefined;
}
export interface CreateProgramOptions {
    projectReferences?: ProjectReference[] | undefined;
    configFileParsingDiagnostics?: DiagnosticResponse[] | undefined;
    moduleResolver?: number | undefined;
}
export interface StaticModuleResolution {
    resolvedFileName?: DocumentIdentifier | undefined;
    originalPath?: DocumentIdentifier | undefined;
    packageId?: PackageId | undefined;
}
/**
 * RawCompilerOptions is the JSON/API representation of compiler options.
 * Filesystem paths remain strings until Finalize resolves them against a base
 * directory and constructs a CompilerOptions with typed path guarantees.
 */
export interface RawCompilerOptions {
    allowJs?: boolean | undefined;
    allowArbitraryExtensions?: boolean | undefined;
    allowImportingTsExtensions?: boolean | undefined;
    allowNonTsExtensions?: boolean | undefined;
    allowUmdGlobalAccess?: boolean | undefined;
    allowUnreachableCode?: boolean | undefined;
    allowUnusedLabels?: boolean | undefined;
    assumeChangesOnlyAffectDirectDependencies?: boolean | undefined;
    checkJs?: boolean | undefined;
    customConditions?: string[] | undefined;
    composite?: boolean | undefined;
    emitDeclarationOnly?: boolean | undefined;
    emitBOM?: boolean | undefined;
    emitDecoratorMetadata?: boolean | undefined;
    declaration?: boolean | undefined;
    declarationDir?: string | undefined;
    declarationMap?: boolean | undefined;
    deduplicatePackages?: boolean | undefined;
    disableSizeLimit?: boolean | undefined;
    disableSourceOfProjectReferenceRedirect?: boolean | undefined;
    disableSolutionSearching?: boolean | undefined;
    disableReferencedProjectLoad?: boolean | undefined;
    erasableSyntaxOnly?: boolean | undefined;
    exactOptionalPropertyTypes?: boolean | undefined;
    experimentalDecorators?: boolean | undefined;
    forceConsistentCasingInFileNames?: boolean | undefined;
    isolatedModules?: boolean | undefined;
    isolatedDeclarations?: boolean | undefined;
    ignoreConfig?: boolean | undefined;
    ignoreDeprecations?: string | undefined;
    importHelpers?: boolean | undefined;
    inlineSourceMap?: boolean | undefined;
    inlineSources?: boolean | undefined;
    init?: boolean | undefined;
    incremental?: boolean | undefined;
    jsx?: JsxEmit | undefined;
    jsxFactory?: string | undefined;
    jsxFragmentFactory?: string | undefined;
    jsxImportSource?: string | undefined;
    lib?: string[] | undefined;
    libReplacement?: boolean | undefined;
    locale?: string | undefined;
    mapRoot?: string | undefined;
    module?: ModuleKind | undefined;
    moduleResolution?: ModuleResolutionKind | undefined;
    moduleSuffixes?: string[] | undefined;
    moduleDetection?: ModuleDetectionKind | undefined;
    newLine?: NewLineKind | undefined;
    noEmit?: boolean | undefined;
    noCheck?: boolean | undefined;
    noErrorTruncation?: boolean | undefined;
    noFallthroughCasesInSwitch?: boolean | undefined;
    noImplicitAny?: boolean | undefined;
    noImplicitThis?: boolean | undefined;
    noImplicitReturns?: boolean | undefined;
    noEmitHelpers?: boolean | undefined;
    noLib?: boolean | undefined;
    noPropertyAccessFromIndexSignature?: boolean | undefined;
    noUncheckedIndexedAccess?: boolean | undefined;
    noEmitOnError?: boolean | undefined;
    noUnusedLocals?: boolean | undefined;
    noUnusedParameters?: boolean | undefined;
    noResolve?: boolean | undefined;
    noImplicitOverride?: boolean | undefined;
    noUncheckedSideEffectImports?: boolean | undefined;
    outDir?: string | undefined;
    paths?: Record<string, string[]> | undefined;
    /** Plugins are parsed only so tools can report that native TypeScript does not support them. */
    plugins?: PluginImport[] | undefined;
    preserveConstEnums?: boolean | undefined;
    preserveSymlinks?: boolean | undefined;
    project?: string | undefined;
    resolveJsonModule?: boolean | undefined;
    resolvePackageJsonExports?: boolean | undefined;
    resolvePackageJsonImports?: boolean | undefined;
    removeComments?: boolean | undefined;
    rewriteRelativeImportExtensions?: boolean | undefined;
    reactNamespace?: string | undefined;
    rootDir?: string | undefined;
    rootDirs?: string[] | undefined;
    skipLibCheck?: boolean | undefined;
    stableTypeOrdering?: boolean | undefined;
    strict?: boolean | undefined;
    strictBindCallApply?: boolean | undefined;
    strictBuiltinIteratorReturn?: boolean | undefined;
    strictFunctionTypes?: boolean | undefined;
    strictNullChecks?: boolean | undefined;
    strictPropertyInitialization?: boolean | undefined;
    stripInternal?: boolean | undefined;
    skipDefaultLibCheck?: boolean | undefined;
    sourceMap?: boolean | undefined;
    sourceRoot?: string | undefined;
    suppressOutputPathCheck?: boolean | undefined;
    target?: ScriptTarget | undefined;
    traceResolution?: boolean | undefined;
    tsBuildInfoFile?: string | undefined;
    typeRoots?: string[] | undefined;
    types?: string[] | undefined;
    useDefineForClassFields?: boolean | undefined;
    useUnknownInCatchVariables?: boolean | undefined;
    verbatimModuleSyntax?: boolean | undefined;
    maxNodeModuleJsDepth?: number | undefined;
    /** @deprecated Do not use outside of options parsing and validation. */
    allowSyntheticDefaultImports?: boolean | undefined;
    /** @deprecated Do not use outside of options parsing and validation. */
    alwaysStrict?: boolean | undefined;
    /** @deprecated Do not use outside of options parsing and validation. */
    baseUrl?: string | undefined;
    /** @deprecated Do not use outside of options parsing and validation. */
    downlevelIteration?: boolean | undefined;
    /** @deprecated Do not use outside of options parsing and validation. */
    esModuleInterop?: boolean | undefined;
    /** @deprecated Do not use outside of options parsing and validation. */
    outFile?: string | undefined;
    configFilePath?: string | undefined;
    noDtsResolution?: boolean | undefined;
    pathsBasePath?: string | undefined;
    diagnostics?: boolean | undefined;
    extendedDiagnostics?: boolean | undefined;
    generateCpuProfile?: string | undefined;
    generateTrace?: string | undefined;
    listEmittedFiles?: boolean | undefined;
    listFiles?: boolean | undefined;
    explainFiles?: boolean | undefined;
    listFilesOnly?: boolean | undefined;
    noEmitForJsFiles?: boolean | undefined;
    preserveWatchOutput?: boolean | undefined;
    pretty?: boolean | undefined;
    version?: boolean | undefined;
    watch?: boolean | undefined;
    showConfig?: boolean | undefined;
    build?: boolean | undefined;
    help?: boolean | undefined;
    all?: boolean | undefined;
    runExternalCode?: boolean | undefined;
    pprofDir?: string | undefined;
    singleThreaded?: boolean | undefined;
    quiet?: boolean | undefined;
    checkers?: number | undefined;
}
//# sourceMappingURL=proto.generated.d.ts.map