/** * Conditions Module for PraisonAI TypeScript SDK * * Python parity with praisonaiagents condition types * * Provides: * - Condition protocols * - Condition implementations * - Condition evaluation */ /** * Condition protocol interface. * Python parity: praisonaiagents/conditions */ export interface ConditionProtocol { evaluate(context: Record): boolean | Promise; describe(): string; } /** * Routing condition protocol. * Python parity: praisonaiagents/conditions */ export interface RoutingConditionProtocol extends ConditionProtocol { getTargetAgent(context: Record): string | null; } /** * Dictionary-based condition. * Python parity: praisonaiagents/conditions */ export declare class DictCondition implements ConditionProtocol { private conditions; private operator; constructor(conditions: Record, operator?: 'and' | 'or'); evaluate(context: Record): boolean; describe(): string; } /** * Expression-based condition. * Python parity: praisonaiagents/conditions */ export declare class ExpressionCondition implements ConditionProtocol { private expression; private evaluator; constructor(expression: string); private compileExpression; private evaluateSimple; evaluate(context: Record): boolean; describe(): string; } /** * Function-based condition. */ export declare class FunctionCondition implements ConditionProtocol { private fn; private description; constructor(fn: (context: Record) => boolean | Promise, description?: string); evaluate(context: Record): boolean | Promise; describe(): string; } /** * Evaluate a condition. * Python parity: praisonaiagents/conditions */ export declare function evaluateCondition(condition: ConditionProtocol | Record | string | ((ctx: Record) => boolean), context: Record): boolean | Promise; /** * Create a condition from various input types. */ export declare function createCondition(input: ConditionProtocol | Record | string | ((ctx: Record) => boolean)): ConditionProtocol; /** * Combine conditions with AND. */ export declare function andConditions(...conditions: ConditionProtocol[]): ConditionProtocol; /** * Combine conditions with OR. */ export declare function orConditions(...conditions: ConditionProtocol[]): ConditionProtocol; /** * Negate a condition. */ export declare function notCondition(condition: ConditionProtocol): ConditionProtocol;