/** A predicate over a single column value. */ export type Matcher = (value: unknown) => boolean; /** * Loose equality across engine value representations: when both sides are * numeric ("6.50" vs 6.5) compare as numbers, else as strings. A non-numeric * string never coerces, so blank/whitespace cells don't spuriously match 0. */ export declare function looseEquals(a: unknown, b: unknown): boolean; /** Loose-equality (numeric-aware String compare). */ export declare function eq(expected: unknown): Matcher; /** Loose-inequality. */ export declare function ne(expected: unknown): Matcher; export declare function lt(bound: number): Matcher; export declare function lte(bound: number): Matcher; export declare function gt(bound: number): Matcher; export declare function gte(bound: number): Matcher; export declare function between(min: number, max: number): Matcher; export declare function oneOf(values: unknown[]): Matcher; /** SQL-style LIKE: % = any run, _ = one char. Anchored, case-insensitive. */ export declare function like(pattern: string): Matcher; export declare function contains(substr: string): Matcher; export declare function startsWith(prefix: string): Matcher; export declare function endsWith(suffix: string): Matcher; export declare function matches(re: RegExp): Matcher; export declare function isNull(): Matcher; export declare function notNull(): Matcher; export declare function not(matcher: Matcher): Matcher;