import Ajv, { AnySchemaObject, SchemaObject } from "ajv";
import { C8ySchemaMatcher } from "../shared/c8ypact/schema";
/**
 * Default implementation of C8ySchemaMatcher using AJV. By default
 * json-schema-draft-07 meta schema is used. Other meta schema can be added
 * by passing in constructor. If options.strictMatching is disabled for match,
 * additionalProperties will be set to true allowing additional properties
 * in the object to match the schema.
 */
export declare class C8yAjvSchemaMatcher implements C8ySchemaMatcher {
    ajv: Ajv;
    constructor(metas?: AnySchemaObject[] | boolean, strict?: boolean);
    match(obj: any, schema: SchemaObject, strictMatching?: boolean): boolean;
    protected updateAdditionalProperties(schema: any, value: boolean): void;
}
export declare class C8yAjvJson6SchemaMatcher extends C8yAjvSchemaMatcher {
    constructor();
}
