import { runTestingWorkflow, type WorkflowRunOptions, type WorkflowRunnerDependencies } from "./workflow-runner.js";
import type { TestingWorkflow } from "../types/index.js";
export interface WorkflowFanoutOptions extends WorkflowRunOptions {
    workflowIds?: string[];
    projectId?: string;
    tags?: string[];
    includeDisabled?: boolean;
    workers?: number;
}
export interface WorkflowFanoutItem {
    workflowId: string;
    workflowName: string;
    status: "dry-run" | "passed" | "failed";
    sandboxId?: string;
    sessionId?: string;
    exitCode?: number;
    stdout?: string;
    stderr?: string;
    error?: string;
    plan?: Awaited<ReturnType<typeof runTestingWorkflow>>["plan"];
}
export interface WorkflowFanoutResult {
    status: "passed" | "failed" | "dry-run";
    workers: number;
    total: number;
    passed: number;
    failed: number;
    items: WorkflowFanoutItem[];
}
export interface WorkflowFanoutDependencies extends WorkflowRunnerDependencies {
    runTestingWorkflow?: typeof runTestingWorkflow;
}
export declare function normalizeFanoutWorkerCount(value: number | undefined): number;
export declare function resolveWorkflowFanoutSelection(options: Pick<WorkflowFanoutOptions, "workflowIds" | "projectId" | "tags" | "includeDisabled">): TestingWorkflow[];
export declare function runWorkflowFanout(options: WorkflowFanoutOptions, dependencies?: WorkflowFanoutDependencies): Promise<WorkflowFanoutResult>;
//# sourceMappingURL=workflow-fanout.d.ts.map