import { StringFormatType } from '../../utils/index';
import { ValidationContext, ValidatorBase } from '../index';
export declare const VALIDATOR_JSON_SCHEMA_METADATA_KEY: unique symbol;
export declare function isJsonSchema(errorMessage?: StringFormatType): (target: Record<string, any>, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<any>) => void;
export declare class JsonSchemaValidator extends ValidatorBase {
    private schema;
    constructor(schema: object | string, errorMessage?: StringFormatType);
    private getSchema;
    private isMatch;
    private traverseProperties;
    validate(context: ValidationContext<any, any>): Promise<boolean>;
}
