import { DataRecord } from '../core/interfaces';
export type FieldFilterRule = (value: any) => boolean;
export declare class FieldFilter {
    private fieldName;
    private rules;
    constructor(fieldName: string);
    addRule(rule: FieldFilterRule): this;
    createRecordFilter(): (record: DataRecord) => boolean;
}
export declare const IsNotNull: () => FieldFilterRule;
export declare const IsType: (type: string) => FieldFilterRule;
export declare const ValueMatch: <T>(...allowedValues: T[]) => FieldFilterRule;
export declare const PatternMatch: (pattern: string) => FieldFilterRule;
export declare const GreaterThan: (threshold: number) => FieldFilterRule;
export declare const LessThan: (threshold: number) => FieldFilterRule;
export declare const Between: (min: number, max: number) => FieldFilterRule;
export declare const IsEmpty: () => FieldFilterRule;
