/**
 * Aggregate condition evaluator for parallel workflow steps
 *
 * Evaluates all()/any() aggregate conditions against sub-step results.
 */
import type { WorkflowStep, WorkflowState } from '../../models/types.js';
/**
 * Evaluates aggregate conditions (all()/any()) for parallel parent steps.
 *
 * For each aggregate rule, checks the matched condition text of sub-steps:
 * - all("X"): true when ALL sub-steps have matched condition === X
 * - all("A", "B"): true when 1st sub-step matches "A" AND 2nd sub-step matches "B" (order-based)
 * - any("X"): true when at least ONE sub-step has matched condition === X
 * - any("A", "B"): true when at least ONE sub-step matches "A" OR "B"
 *
 * Edge cases per spec:
 * - Sub-step with no matched rule: all() → false, any() → skip that sub-step
 * - No sub-steps (0 件): both → false
 * - Non-parallel step: both → false
 * - all("A", "B") with wrong number of sub-steps: false (logged as error)
 */
export declare class AggregateEvaluator {
    private readonly step;
    private readonly state;
    constructor(step: WorkflowStep, state: WorkflowState);
    /**
     * Evaluate aggregate conditions.
     * Returns the 0-based rule index in the step's rules array, or -1 if no match.
     */
    evaluate(): number;
}
//# sourceMappingURL=AggregateEvaluator.d.ts.map