import { KeyValue } from './comparison';
import { ClassDict, IEvaluatable, IJson, IJsonDump, IRuntimeOperatorCallback, IReport } from './contracts';
export declare class RuntimeOperatorDef {
    alias: string;
    func: IRuntimeOperatorCallback;
    constructor(alias: string, func: IRuntimeOperatorCallback);
}
export declare class RuntimeOperator extends KeyValue implements IEvaluatable, IJson {
    private _def;
    private _reporter;
    constructor(key: string, def: RuntimeOperatorDef);
    static fromJson(json: IJsonDump, classDict: ClassDict): RuntimeOperator;
    getAlias(): string;
    getReport(): IReport;
    resetReport(): void;
    asJson(): IJsonDump;
    evaluate<PrimitiveThing>(obj: PrimitiveThing): boolean;
}
