import { ValueError } from '@n1k1t/typebox/errors';
import { ExpectationOperator } from './operator';
import { IExpectationMeta, IExpectationSchemaContext, IExpectationSchemaInput, IExpectationSchema } from '../types';
export declare class Expectation<TInput extends IExpectationSchemaInput = {}, TContext extends IExpectationSchemaContext<TInput> = IExpectationSchemaContext<TInput>> {
    configuration: Pick<Expectation<TInput, TContext>, 'schema'> & Partial<Pick<Expectation<TInput, TContext>, 'id' | 'name' | 'isEnabled' | 'group' | 'transports' | 'meta'>>;
    TPlain: Pick<Expectation<TInput, TContext>, 'schema' | 'id' | 'group' | 'isEnabled' | 'meta' | 'name' | 'transports'>;
    id: string;
    name: string;
    group: string;
    transports?: TContext['transport'][];
    schema: IExpectationSchema<TContext>;
    isEnabled: boolean;
    request: ExpectationOperator<any>;
    response: ExpectationOperator<any> | null;
    meta: IExpectationMeta;
    get forward(): import("../types").IExpectationSchemaForward | undefined;
    private serialized;
    constructor(configuration: Pick<Expectation<TInput, TContext>, 'schema'> & Partial<Pick<Expectation<TInput, TContext>, 'id' | 'name' | 'isEnabled' | 'group' | 'transports' | 'meta'>>);
    increaseExecutionsCounter(): this;
    validate(): ValueError[];
    toPlain(): Expectation<TInput, TContext>['TPlain'];
    static build<TInput extends IExpectationSchemaInput = {}>(configuration: Expectation<TInput>['configuration']): Expectation<TInput>;
}
//# sourceMappingURL=expectation.d.ts.map