export type SchemaDraft = '4' | '7' | '2019-09' | '2020-12'; export declare const enum OutputFormat { Flag = 1, Basic = 2, Detailed = 4 } export type InstanceType = 'array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string'; export interface Schema { $id?: string; $anchor?: string; $recursiveAnchor?: boolean; $ref?: string; $recursiveRef?: '#'; $schema?: string; $comment?: string; $defs?: any; $vocabulary?: Record; type?: InstanceType | InstanceType[]; const?: any; enum?: any[]; required?: string[]; not?: Schema; anyOf?: Schema[]; allOf?: Schema[]; oneOf?: Schema[]; if?: Schema; then?: Schema; else?: Schema; format?: string; properties?: Record; patternProperties?: Record; additionalProperties?: Schema | boolean; unevaluatedProperties?: Schema | boolean; minProperties?: number; maxProperties?: number; propertyNames?: Schema; dependentRequired?: Record; dependentSchemas?: Record; dependencies?: Record; prefixItems?: Array; items?: Schema | boolean | Array; additionalItems?: Schema | boolean; unevaluatedItems?: Schema | boolean; contains?: Schema | boolean; minContains?: number; maxContains?: number; minItems?: number; maxItems?: number; uniqueItems?: boolean; minimum?: number; maximum?: number; exclusiveMinimum?: number | boolean; exclusiveMaximum?: number | boolean; multipleOf?: number; minLength?: number; maxLength?: number; pattern?: string; __absolute_ref__?: string; __absolute_recursive_ref__?: string; __absolute_uri__?: string; [key: string]: any; } export interface OutputUnit { keyword: string; keywordLocation: string; instanceLocation: string; error: string; } export interface ValidationResult { valid: boolean; errors: OutputUnit[]; }