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>; }