import { type TSchema, type TTuple } from '@sinclair/typebox'; import { type TypeCheck } from '@sinclair/typebox/compiler'; import type { PartialBy } from '../util/partial-by.js'; import type { ComparisonFunction } from './comparisons.js'; export type Operator = (compare: ComparisonFunction, operands: Operands) => boolean; export interface OperatorConfiguration { operator: Operator; args: Arguments; compiler: TypeCheck>; } /** Returns the entries in this registry */ export declare function Entries(): Map; /** Clears all user defined operators */ export declare function clear(): void; /** Deletes a registered operator */ export declare function remove(operator: string): boolean; /** Returns true if the user defined operator exists */ export declare function has(operator: string): boolean; /** Sets a validation function for a user defined operator */ export declare function set(name: string, { operator, args, compiler, }: PartialBy, 'compiler'>): void; /** Gets a validation function for a user defined operator */ export declare function get(name: string): OperatorConfiguration | undefined; export declare class NotRegistered extends Error { constructor(name: string); } export declare const Enum: { UND: string; DEF: string; EQ: string; NE: string; LT: string; GT: string; LTE: string; GTE: string; IN: string; EX: string; BET: string; OUT: string; }; //# sourceMappingURL=operators.d.ts.map