import { VarOperand, ValOperand, RefOperand, LiteralOperand, OperationOperand, Operation, OperatorOption } from '../expression.cjs'; import '@fajarnugraha37/error'; interface OpsBuilder { var(name: string, defaultValue?: unknown): VarOperand; val(list: readonly string[]): ValOperand; ref(id: string): RefOperand; literal(value: unknown): LiteralOperand; add(...operands: OperationOperand[]): Operation; subtract(a: OperationOperand, b: OperationOperand): Operation; multiply(...operands: OperationOperand[]): Operation; divide(a: OperationOperand, b: OperationOperand): Operation; eq(a: OperationOperand, b: OperationOperand): Operation; gt(a: OperationOperand, b: OperationOperand): Operation; lt(a: OperationOperand, b: OperationOperand): Operation; and(...operands: OperationOperand[]): Operation; or(...operands: OperationOperand[]): Operation; not(operand: OperationOperand): Operation; if(condition: OperationOperand, thenValue: OperationOperand, elseValue?: OperationOperand): Operation; } declare class Ops { static v(name: string, defaultValue?: unknown): VarOperand; static var(name: string, defaultValue?: unknown): VarOperand; static val(list: readonly string[]): ValOperand; static ref(id: string): RefOperand; static literal(value: unknown): LiteralOperand; static op(operator: K, ...args: OperationOperand[]): Operation; static raw(body: Operation): Operation; static add(...operands: OperationOperand[]): Operation; static subtract(a: OperationOperand, b: OperationOperand): Operation; static multiply(...operands: OperationOperand[]): Operation; static divide(a: OperationOperand, b: OperationOperand): Operation; static modulo(a: OperationOperand, b: OperationOperand): Operation; static power(base: OperationOperand, exponent: OperationOperand): Operation; static min(...operands: OperationOperand[]): Operation; static max(...operands: OperationOperand[]): Operation; static abs(operand: OperationOperand): Operation; static round(operand: OperationOperand): Operation; static floor(operand: OperationOperand): Operation; static ceil(operand: OperationOperand): Operation; static eq(a: OperationOperand, b: OperationOperand): Operation; static strictEq(a: OperationOperand, b: OperationOperand): Operation; static neq(a: OperationOperand, b: OperationOperand): Operation; static strictNeq(a: OperationOperand, b: OperationOperand): Operation; static gt(a: OperationOperand, b: OperationOperand): Operation; static gte(a: OperationOperand, b: OperationOperand): Operation; static lt(a: OperationOperand, b: OperationOperand): Operation; static lte(a: OperationOperand, b: OperationOperand): Operation; static and(...operands: OperationOperand[]): Operation; static or(...operands: OperationOperand[]): Operation; static not(operand: OperationOperand): Operation; static xor(a: OperationOperand, b: OperationOperand): Operation; static if(condition: OperationOperand, thenValue: OperationOperand, elseValue?: OperationOperand): Operation; static switch(value: OperationOperand, cases: Record, defaultCase?: OperationOperand): Operation; static map(array: OperationOperand, callback: OperationOperand): Operation; static filter(array: OperationOperand, predicate: OperationOperand): Operation; static reduce(array: OperationOperand, callback: OperationOperand, initial?: OperationOperand): Operation; static find(array: OperationOperand, predicate: OperationOperand): Operation; static every(array: OperationOperand, predicate: OperationOperand): Operation; static some(array: OperationOperand, predicate: OperationOperand): Operation; static includes(array: OperationOperand, value: OperationOperand): Operation; static length(value: OperationOperand): Operation; static get(container: OperationOperand, key: OperationOperand): Operation; static slice(array: OperationOperand, start: OperationOperand, end?: OperationOperand): Operation; static concat(...operands: OperationOperand[]): Operation; static substring(str: OperationOperand, start: OperationOperand, end?: OperationOperand): Operation; static toLowerCase(str: OperationOperand): Operation; static toUpperCase(str: OperationOperand): Operation; static trim(str: OperationOperand): Operation; static contains(str: OperationOperand, substring: OperationOperand): Operation; static startsWith(str: OperationOperand, prefix: OperationOperand): Operation; static endsWith(str: OperationOperand, suffix: OperationOperand): Operation; static replace(str: OperationOperand, search: OperationOperand, replacement: OperationOperand): Operation; static split(str: OperationOperand, separator: OperationOperand): Operation; static isNull(value: OperationOperand): Operation; static isDefined(value: OperationOperand): Operation; static isEmpty(value: OperationOperand): Operation; static isString(value: OperationOperand): Operation; static isNumber(value: OperationOperand): Operation; static isBoolean(value: OperationOperand): Operation; static isArray(value: OperationOperand): Operation; static isObject(value: OperationOperand): Operation; static isEmail(value: OperationOperand): Operation; static isUrl(value: OperationOperand): Operation; static matches(value: OperationOperand, pattern: OperationOperand): Operation; static keys(obj: OperationOperand): Operation; static values(obj: OperationOperand): Operation; static entries(obj: OperationOperand): Operation; static has(obj: OperationOperand, key: OperationOperand): Operation; static merge(...objects: OperationOperand[]): Operation; static now(): Operation; static date(value: OperationOperand): Operation; static format(date: OperationOperand, format: OperationOperand): Operation; static isBefore(date1: OperationOperand, date2: OperationOperand): Operation; static isAfter(date1: OperationOperand, date2: OperationOperand): Operation; static chain(...operations: Operation[]): Operation[]; static compose(operations: Operation[]): Operation; static builder(): OpsBuilder; } export { Ops, type OpsBuilder };