export type WorkflowRuleCondition = { kind: 'semantic'; label: string; } | { kind: 'when'; expression: string; } | { kind: 'aggregate'; aggregate: 'all' | 'any'; targetConditions: WorkflowRuleCondition[]; } | { kind: 'and'; left: WorkflowRuleCondition; right: WorkflowRuleCondition; }; /** Engine-produced aggregate label for a parallel participant that ended in terminal error. */ export declare const PARALLEL_TERMINAL_ERROR_LABEL = "error"; /** A semantic label selectable during Phase 3 status judgment. */ export interface SemanticRuleCandidate { label: string; appendix?: string; } interface SemanticRuleSource { condition: WorkflowRuleCondition; interactiveOnly?: boolean; appendix?: string; } export interface SemanticAppendixRule extends SemanticRuleSource { ruleIndex: number; } export interface SemanticAppendixConflict { ruleIndex: number; label: string; } export declare function isParallelSubStepRuleCondition(condition: WorkflowRuleCondition): boolean; export declare function parseWorkflowRuleCondition(value: string): WorkflowRuleCondition; export declare function formatWorkflowRuleCondition(condition: WorkflowRuleCondition): string; export declare function semanticLabelsOf(condition: WorkflowRuleCondition): string[]; export declare function aggregateConditionsOf(condition: WorkflowRuleCondition): Extract[]; export declare function dynamicParallelAggregateTargetLabel(condition: Extract): string | undefined; export declare function findSemanticAppendixConflicts(rules: readonly SemanticAppendixRule[]): SemanticAppendixConflict[]; export declare function hasAggregateCondition(condition: WorkflowRuleCondition): boolean; /** * Returns each selectable semantic label once, in its first YAML appearance. */ export declare function semanticRuleCandidatesOf(rules: readonly SemanticRuleSource[], interactive: boolean): SemanticRuleCandidate[]; export declare function needsSemanticStatusJudgment(rules: readonly SemanticRuleSource[], interactive: boolean): boolean; /** Detects an unquoted, complete state identifier reference. */ export declare function hasUnquotedIdentifierReference(expression: string, identifier: string): boolean; /** Detects an unquoted companion state reference in a parsed rule condition. */ export declare function hasCompanionReference(condition: WorkflowRuleCondition): boolean; export declare function terminalLabelOf(condition: WorkflowRuleCondition): string | undefined; export {}; //# sourceMappingURL=workflow-rule-condition.d.ts.map