import type { CreateEvaluatorArgs, EvaluationResult, ObjectMapping } from "../types/index.js";
import { EvaluatorBase } from "./EvaluatorBase.js";
type FunctionEvaluatorArgs<RecordType extends Record<string, unknown>> = CreateEvaluatorArgs<RecordType> & {
    evaluateFn: (args: RecordType) => Promise<EvaluationResult>;
};
/**
 * A class that constructs an evaluator based on an evaluate function.
 */
export declare class FunctionEvaluator<RecordType extends Record<string, unknown>> extends EvaluatorBase<RecordType> {
    readonly evaluateFn: (args: RecordType) => Promise<EvaluationResult>;
    constructor({ evaluateFn, ...args }: FunctionEvaluatorArgs<RecordType>);
    evaluate(args: RecordType): Promise<EvaluationResult>;
    bindInputMapping(inputMapping: ObjectMapping<RecordType>): FunctionEvaluator<RecordType>;
}
export {};
//# sourceMappingURL=FunctionEvaluator.d.ts.map