import { LogicAction } from "../action/logicAction"; import { Actionable } from "../action/actionable"; import { Chained, Proxied } from "../action/chain"; import { LambdaHandler, ActionStatements } from "../elements/type"; export declare class Lambda { } export declare class Condition extends Actionable> { /** * Create a new conditional branch that only runs when the condition is true. * @param condition - Lambda determining whether to take the branch. * @param action - Actions to execute when the condition is satisfied. * @chainable * @example * ```ts * Condition.If(persis.equals("coin", 10), [ * character.say("You have enough coins") * ]); * ``` */ static If(condition: Lambda | LambdaHandler, action: ActionStatements): Proxied>; /** * Add an `else if` branch that executes when the provided condition becomes true. * @param condition - Lambda gating the branch. * @param action - Actions for this branch. * @chainable */ ElseIf(condition: Closed extends false ? (Lambda | LambdaHandler) : never, action: Closed extends false ? ActionStatements : never): Closed extends false ? Proxied> : never; /** * Add a final `else` branch that runs when no other conditions matched. * @param action - Actions executed when all prior conditions fail. * @chainable */ Else(action: Closed extends false ? ActionStatements : never): Closed extends false ? Proxied, Chained> : never; }