import { FSCacheAccessor } from './Cache'; import { ISourceNode } from './ISourceNode'; import { INamedModuleSpecsWithId } from '@tscc/tscc-spec'; export interface IEntryPoint { readonly moduleId: string | null; readonly extraSources: ReadonlyArray; } export default class ClosureDependencyGraph { addSourceByFileNames(fileNames: string[], fsCacheAccessor: FSCacheAccessor): Promise; addSourceByContent(fileName: string, content: string): void; addSourceNode(sourceNode: ISourceNode): void; private fileNameToNode; private moduleNameToNode; hasModule(moduleName: string): boolean; /** * Start walker */ private forwardDeclared; private required; clear(): void; private getSourceNode; private getRequiredNodes; private walkTypeRequiredNodes; private static getFileName; getSortedFilesAndFlags(entryPoints: Omit[]): IFilesAndFlags; } interface IFilesAndFlags { readonly src: ReadonlyArray; readonly flags: ReadonlyArray; } export declare class ClosureDepsError extends Error { } export {};