import { ExecutionContext } from './context.js';
/**
 * Interface representing a single step in the automation pipeline.
 */
export interface PipelineStep {
    name: string;
    /**
     * Defines if the step should execute based on current context.
     */
    shouldRun(context: ExecutionContext): boolean | Promise<boolean>;
    /**
     * Executes the step logic.
     */
    run(context: ExecutionContext): Promise<void>;
}
/**
 * Orchestrates the execution of pipeline steps.
 */
export declare class Pipeline {
    private steps;
    /**
     * Adds a step to the pipeline.
     */
    addStep(step: PipelineStep): this;
    /**
     * Executes all steps in the sequence for which shouldRun returns true.
     */
    execute(context: ExecutionContext): Promise<void>;
}
