import Ajv from 'ajv';
import { ValidationError } from './Error';
declare type Options = {
allErrors?: boolean;
rootDir?: string;
verbose?: boolean;
format?: 'full' | 'empty';
metaValidation?: boolean;
};
declare type Meta = {
asset?: boolean;
dimensions?: {
width: number;
height: number;
};
square?: boolean;
contentTypePattern?: string;
contentTypeHuman?: string;
};
declare type AssetField = {
fieldPath: string;
data: string;
meta: Meta;
};
export { SchemerError, ValidationError, ErrorCodes, ErrorCode } from './Error';
export default class Schemer {
options: Options;
ajv: Ajv.Ajv;
schema: Object;
rootDir: string;
manualValidationErrors: Array<ValidationError>;
constructor(schema: Object, options?: Options);
_formatAjvErrorMessage({ keyword, dataPath, params, parentSchema, data, message, }: Ajv.ErrorObject): ValidationError;
getErrors(): ValidationError[];
_throwOnErrors(): void;
validateAll(data: any): Promise<void>;
validateAssetsAsync(data: any): Promise<void>;
validateSchemaAsync(data: any): Promise<void>;
_validateSchemaAsync(data: any): void;
_validateAssetsAsync(data: any): Promise<void>;
_validateImageAsync({ fieldPath, data, meta }: AssetField): Promise<void>;
_validateAssetAsync({ fieldPath, data, meta }: AssetField): Promise<void>;
validateProperty(fieldPath: string, data: any): Promise<void>;
validateName(name: string): Promise<void>;
validateSlug(slug: string): Promise<void>;
validateSdkVersion(version: string): Promise<void>;
validateIcon(iconPath: string): Promise<void>;
}