import { Reporter } from '../../../core/dist/reporter'; import { PhpProgram } from '../nodes'; import { PipelineContext } from '../programBuilder'; import { PhpFileMetadata } from '../types'; import { PhpProgramCodemodResult } from '../codemods/types'; export interface PhpProgramIngestionMessage { readonly file: string; readonly program: PhpProgram; readonly metadata?: PhpFileMetadata; readonly docblock?: readonly string[]; readonly uses?: readonly string[]; readonly statements?: readonly string[]; readonly codemod?: PhpProgramCodemodResult; } export type PhpProgramIngestionSource = AsyncIterable | Iterable | NodeJS.ReadableStream; export { PhpProgramCodemodResult, PhpProgramCodemodVisitorSummary, } from "../codemods/types"; export interface ConsumePhpProgramIngestionOptions { readonly context: PipelineContext; readonly source: PhpProgramIngestionSource; readonly reporter?: Reporter; readonly defaultMetadata?: PhpFileMetadata; readonly resolveFilePath?: (message: PhpProgramIngestionMessage) => string; } export declare function consumePhpProgramIngestion(options: ConsumePhpProgramIngestionOptions): Promise;