import { RuleContext, RuleExecutor } from "../../serde/serde";
import { ClientConfig } from "../../rest-service";
import { LRUCache } from "lru-cache";
import { Expression } from "jsonata";
export declare class JsonataExecutor implements RuleExecutor {
    config: Map<string, string> | null;
    cache: LRUCache<string, Expression>;
    /**
     * Register the JSONata rule executor with the rule registry.
     */
    static register(): JsonataExecutor;
    configure(clientConfig: ClientConfig, config: Map<string, string>): void;
    type(): string;
    transform(ctx: RuleContext, msg: any): Promise<any>;
    close(): Promise<void>;
}
