export interface AiConditionExpression { text: string; } export interface AggregateConditionExpression { type: 'all' | 'any'; argsText: string; } export declare function parseAiConditionExpression(value: string): AiConditionExpression | undefined; export declare function isAiConditionExpression(value: string): boolean; export declare function findClosingParen(value: string, startIndex: number): number; export declare function isEscapedQuote(value: string, quoteIndex: number): boolean; export declare function parseAggregateConditionArgs(argsText: string): string[]; export declare function parseAggregateConditionExpression(value: string): AggregateConditionExpression | undefined; /** * 括弧・引用符(エスケープ含む)を尊重してトップレベルの論理区切りで分割する。 * 空節は保持する(壊れた設定の fail-fast 判定は呼び出し側の責務)。 * parse / normalize / evaluate が同一のトークナイズを共有するための唯一の実装。 */ export declare function splitTopLevelClauses(expression: string, separator: '||' | '&&'): string[]; /** 分割して空節があれば fail-fast する(subject はエラー文の主語)。 */ export declare function splitTopLevelClausesOrThrow(expression: string, separator: '||' | '&&', subject: string): string[]; /** * when(<式>) 形式か(括弧バランスで判定。when(A) && when(B) のような * 連結は単一の when 条件ではない)。 */ export declare function isWhenConditionExpression(value: string): boolean; /** when(<式>) の内側を取り出す。when 形式以外の入力は呼び出し側の契約違反として即座に失敗させる。 */ export declare function unwrapWhenConditionExpression(value: string): string; //# sourceMappingURL=workflow-condition-expression.d.ts.map