import { ExpressionGroup } from './expression-group.js'; import { ExpressionIterator } from './expression-iterator.js'; import { Expression } from './expression.js'; import * as Model from './model.js'; export declare class Builder { private readonly draft; name(name: string): this; describe(description: string): this; operand(value?: Model.Operand | unknown): this; value(value: unknown, cast?: string): this; reference(reference: string, cast?: string): this; operator(operator: string, operand?: Model.Operand): this; isEqualTo(...operands: [(Model.Operand | unknown)?, (Model.Operand | unknown)?]): this; isNotEqualTo(...operands: [(Model.Operand | unknown)?, (Model.Operand | unknown)?]): this; isGreaterThan(...operands: [(Model.Operand | unknown)?, (Model.Operand | unknown)?]): this; isGreaterThanOrEqualTo(...operands: [(Model.Operand | unknown)?, (Model.Operand | unknown)?]): this; isLessThan(...operands: [(Model.Operand | unknown)?, (Model.Operand | unknown)?]): this; isLessThanOrEqualTo(...operands: [(Model.Operand | unknown)?, (Model.Operand | unknown)?]): this; isUndefined(operand?: Model.Operand | unknown): this; isDefined(operand?: Model.Operand | unknown): this; includes(...operands: [(Model.Operand | unknown)?, (Model.Operand | unknown[])?]): this; excludes(...operands: [(Model.Operand | unknown)?, (Model.Operand | unknown[])?]): this; between(...operands: [ (Model.Operand | unknown)?, (Model.Operand | unknown)?, (Model.Operand | unknown)? ]): this; outside(...operands: [ (Model.Operand | unknown)?, (Model.Operand | unknown)?, (Model.Operand | unknown)? ]): this; conditions(mode: Model.Mode, conditions: Builder[]): this; some(...conditions: Builder[]): this; every(...conditions: Builder[]): this; iterator(mode: Model.Mode, condition: Builder, scope?: Partial | string): this; forEach(condition: Builder, scope?: Partial | string): this; find(condition: Builder, scope?: Partial | string): this; build(): Expression | ExpressionIterator | ExpressionGroup; evaluate(context?: unknown): boolean; }