import type { SddFlowState, StageName, WavePlan, PlannerOutput, ValidatorOutput, TeammateInfo, PipelineInput, PipelineOutput } from '../../types/sdd-flow.js';
import { evaluateGate } from './gates.js';
export type { PipelineInput, PipelineOutput };
declare const STAGE_ORDER: StageName[];
export declare function runPlannerStage(input: PipelineInput): {
    state: SddFlowState;
    output: PlannerOutput;
    gateResult: ReturnType<typeof evaluateGate>;
};
export declare function runReviewerStage(state: SddFlowState): {
    state: SddFlowState;
    gateResult: ReturnType<typeof evaluateGate>;
};
export declare function runExecutorStage(state: SddFlowState, wavePlan: WavePlan): {
    state: SddFlowState;
    teammates: TeammateInfo[];
    gateResult: ReturnType<typeof evaluateGate>;
};
export declare function runValidatorStage(state: SddFlowState, teammates: TeammateInfo[]): {
    state: SddFlowState;
    output: ValidatorOutput;
    gateResult: ReturnType<typeof evaluateGate>;
    rollbackIds: string[];
};
export declare function runMergerStage(state: SddFlowState, specIdsToMerge: string[]): {
    state: SddFlowState;
    merged: string[];
    gateResult: ReturnType<typeof evaluateGate>;
};
export declare function runReleaserStage(state: SddFlowState): {
    state: SddFlowState;
    released: boolean;
    gateResult: ReturnType<typeof evaluateGate>;
};
export declare function runPipeline(input: PipelineInput): PipelineOutput;
export { STAGE_ORDER };
//# sourceMappingURL=pipeline.d.ts.map