import { BuildStep } from './BuildStep'; import { BuildStepCompositeFunctionScope } from './BuildStepCompositeFunctionScope'; import { BuildStepGlobalContext } from './BuildStepContext'; /** * Parse-time node for one composite function call (`uses: ./...`). * Flattening contributes children (and this node only when it declares outputs); * when it runs, it resolves output templates onto the caller's step id. */ export declare class CompositeBuildStep extends BuildStep { readonly children: BuildStep[]; constructor(ctx: BuildStepGlobalContext, { id, displayName, scope, children, outputTemplates, }: { id: string; displayName: string; scope: BuildStepCompositeFunctionScope; children: BuildStep[]; outputTemplates: Array<{ name: string; template: string; }>; }); get hasDeclaredOutputs(): boolean; /** * Nested calls stay hidden; a top-level call is public only when it declares outputs. * Consulted by registerSelf() in the base constructor; may only read state assigned * before that call (outputById, compositeFunctionScope), never fields like `children`. */ get isCompositeFunctionInternal(): boolean; protected registerSelf(ctx: BuildStepGlobalContext): void; shouldExecuteStep(options: { runByDefault: boolean; }): boolean; private anyAuthoredChildExecuted; getFlattenedSteps(): BuildStep[]; protected logStepStart(): void; protected logStepSuccess(): void; protected logStepSkipped(): void; protected logStepFailed(error: Error): void; }