import type { Filter, FilterContext, FieldMapConfig, JsonObject } from './types.js';
export declare class FilterEngine {
    private readonly filters;
    private fieldMap?;
    private readonly transforms;
    registerFilter(filter: Filter): void;
    setFieldMap(config: FieldMapConfig): void;
    registerTransform(name: string, fn: (v: unknown) => unknown): void;
    run(stage: FilterContext['stage'], payload: JsonObject, ctxBase: Omit<FilterContext, 'stage'>): Promise<JsonObject>;
    private applyFieldMap;
    private coerce;
    private deepClone;
    private mutateWildcardPath;
    private getByPath;
    private setByPath;
}
