import { RuleContext, RuleExecutor } from "../../serde/serde";
import { ClientConfig } from "../../rest-service";
import { LRUCache } from "lru-cache";
export declare class CelExecutor implements RuleExecutor {
    config: Map<string, string> | null;
    env: import("@bufbuild/cel").CelEnv;
    cache: LRUCache<string, any>;
    static register(): CelExecutor;
    configure(clientConfig: ClientConfig, config: Map<string, string>): void;
    type(): string;
    transform(ctx: RuleContext, msg: any): Promise<any>;
    execute(ctx: RuleContext, msg: any, args: {
        [key: string]: any;
    }): Promise<any>;
    executeRule(ctx: RuleContext, expr: string, obj: any, args: {
        [key: string]: any;
    }): Promise<any>;
    close(): Promise<void>;
}
