import { ExpectationOperator } from '../models/operator';
import { TFunction } from '../../../types';
import { CompileExpectationOperatorValue, CompileExpectationOperatorValueWithPredicate, IExpectationSchemaContext, IExpectationExecUtils, TExpectationOperatorObjectLocation, IExpectationMeta } from '../types';
export default class MergeExpectationOperator<TContext extends IExpectationSchemaContext, TLocation extends TExpectationOperatorObjectLocation = TExpectationOperatorObjectLocation, TValue = void> extends ExpectationOperator<TContext, {
    [K in TLocation]: {
        $location: K;
        $value?: CompileExpectationOperatorValueWithPredicate<TContext, K, TValue>;
        $exec?: string | TFunction<CompileExpectationOperatorValueWithPredicate<TContext, K, TValue>, [
            CompileExpectationOperatorValue<TContext, K, TValue>,
            IExpectationExecUtils<TContext>
        ]>;
        $path?: string;
        $jsonPath?: string;
    };
}[TLocation]> {
    compiled: {
        exec?: TFunction<Promise<unknown>, [import("../types").IExpectationExecMode, TContext, ...unknown[]]> | undefined;
    };
    get tags(): IExpectationMeta['tags'];
    match(): Promise<boolean>;
    manipulate<T extends TContext>(context: T): Promise<T>;
}
//# sourceMappingURL=merge.operator.d.ts.map