import { PipelineContext } from './programBuilder'; import { PhpProgram } from './nodes'; import { PhpFileMetadata } from './types'; import { PhpProgramCodemodResult } from './codemods/types'; export interface PhpProgramAction { 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 interface PhpBuilderChannel { queue: (action: PhpProgramAction) => void; drain: () => readonly PhpProgramAction[]; reset: () => void; pending: () => readonly PhpProgramAction[]; } export declare function getPhpBuilderChannel(context: TContext): PhpBuilderChannel; export declare function resetPhpBuilderChannel(context: TContext): void;