import { type CompilerOptions, type ExtendedConfigCacheEntry, type IssueType, type ObjectLiteralExpression, type StringLiteral, type TsConfigSourceFile } from "#typescript"; import type { ConfigValue, ProjectTSConfig, RootDirStack, TSConfig } from "./types.ts"; export interface Configs { tsconfigCount: number; projectCount: number; affectedProjects: ProjectTSConfig[]; } export interface ConfigsWithBaseUrlIssues extends Configs { containsPaths: TSConfig[]; inheritsPaths: ProjectTSConfig[]; containsBaseUrl: TSConfig[]; } export declare class ConfigStore { commandLineOptions: CompilerOptions | undefined; projectConfigs: Map; extendedConfigCache: Map; constructor(commandLineOptions?: CompilerOptions); getConfigsWithPotentialBaseUrlIssues(): ConfigsWithBaseUrlIssues; getConfigsWithPotentialRootDirIssues(): Configs; getProjectConfig(fileName: string): TSConfig | undefined; getText(fileName: string): string | undefined; parseTsconfigIntoSourceFile(tsconfigPath: string, content: string): TsConfigSourceFile; parseTsconfigSourceFileIntoProject(sourceFile: TsConfigSourceFile, reason: ProjectTSConfig["reason"]): ProjectTSConfig; getExtendedConfigs(tsconfig: TSConfig): TSConfig[] | undefined; hasPotentialChangeInRootDir(tsconfig: TSConfig): boolean; getEffectiveBaseUrlStack(tsconfig: TSConfig): ConfigValue[] | undefined; getEffectivePaths(tsconfig: TSConfig): ConfigValue | undefined; getRootDirStack(tsconfig: TSConfig): RootDirStack | undefined; loadProjects(tsconfigPath: string): void; /** * Takes a globbed list of tsconfig paths from the workspace and adds them as projects if: * - They have not already been processed * - They extend a config we already know about that will have a `baseUrl` removed * - They are a leaf in the extends graph of these globbed configs. (We assume if a config * - is extended by another config, the user only ever intends to run `tsc` against the * extending config, not the extended one directly.) */ addAffectedConfigsFromWorkspace(tsconfigPaths: readonly string[], issueType: IssueType): void; } //# sourceMappingURL=configStore.d.ts.map