/**
 * Orchestration Engine Module (Module B)
 *
 * SPARC Architecture Reference: §2.3
 *
 * PURPOSE: Sequence calls to downstream services
 *
 * DEPENDENCIES: Downstream Adapters only
 *
 * FORBIDDEN:
 * - Response Interpretation (NO parsing of downstream responses)
 * - Business Logic (NO conditional branching based on data)
 * - Data Transformation (NO field mapping or conversion)
 * - State Management (NO storage of intermediate results)
 */
import type { OrchestrationResult, CommandOptions } from '../types/index.js';
import type { IDownstreamAdapter } from '../adapters/base-adapter.js';
export interface IOrchestrationEngine {
    execute(stages: OrchestrationStage[], options: CommandOptions): Promise<OrchestrationResult>;
}
export interface OrchestrationStage {
    name: string;
    adapter: IDownstreamAdapter;
    request: StageRequest;
    dependsOn?: string[];
}
export interface StageRequest {
    endpoint: string;
    method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
    buildBody: (previousResults: Map<string, unknown>) => unknown;
}
export declare class OrchestrationEngine implements IOrchestrationEngine {
    private readonly correlationId;
    constructor(correlationId?: string);
    execute(stages: OrchestrationStage[], options: CommandOptions): Promise<OrchestrationResult>;
    /**
     * Extract artifact reference from response body - PASSTHROUGH only
     * No validation or transformation of the reference
     */
    private extractArtifact;
}
export declare function createOrchestrationEngine(correlationId?: string): IOrchestrationEngine;
//# sourceMappingURL=orchestration-engine.d.ts.map