import { HttpStep, IHttpStep } from '../../HttpStep.js';
export declare const MatchesSchemaAssertionKind = "HttpAction#MatchesSchemaAssertion";
/**
 * An assertion that makes sure the input matches a JSON schema. The input has to be
 * a valid JSON string, object, or an array.
 */
export interface IMatchesSchemaAssertion extends IHttpStep {
    kind: typeof MatchesSchemaAssertionKind;
    /**
     * The application internal reference to the schema stored in a store.
     */
    ref?: string;
    /**
     * When set it ignores the `ref` and uses this JSON schema to validate the input against.
     */
    schema?: unknown;
}
/**
 * An assertion that makes sure the input matches a JSON schema. The input has to be
 * a valid JSON string, object, or an array.
 */
export declare class MatchesSchemaAssertion extends HttpStep {
    kind: string;
    /**
     * The application internal reference to the schema stored in a store.
     */
    ref?: string;
    /**
     * When set it ignores the `ref` and uses this JSON schema to validate the input against.
     */
    schema?: unknown;
    static fromRef(ref: string): MatchesSchemaAssertion;
    static fromSchema(schema: unknown): MatchesSchemaAssertion;
    constructor(init?: IMatchesSchemaAssertion);
    new(init: IMatchesSchemaAssertion): void;
    checkValidity(): boolean;
    toJSON(): IMatchesSchemaAssertion;
}
//# sourceMappingURL=MatchesSchemaAssertion.d.ts.map