import Ptr from "@json-schema-spec/json-pointer"; export default interface Schema { id: string; bool?: SchemaBool; ref?: SchemaRef; type?: SchemaType; not?: SchemaNot; if?: SchemaIf; then?: SchemaThen; else?: SchemaElse; const?: SchemaConst; enum?: SchemaEnum; multipleOf?: SchemaMultipleOf; maximum?: SchemaMaximum; minimum?: SchemaMinimum; exclusiveMaximum?: SchemaExclusiveMaximum; exclusiveMinimum?: SchemaExclusiveMinimum; maxLength?: SchemaMaxLength; minLength?: SchemaMinLength; pattern?: SchemaPattern; items?: SchemaItems; additionalItems?: SchemaAdditionalItems; maxItems?: SchemaMaxItems; minItems?: SchemaMinItems; uniqueItems?: SchemaUniqueItems; contains?: SchemaContains; maxProperties?: SchemaMaxProperties; minProperties?: SchemaMinProperties; required?: SchemaRequired; properties?: SchemaProperties; patternProperties?: SchemaPatternProperties; additionalProperties?: SchemaAdditionalProperties; dependencies?: SchemaDependencies; propertyNames?: SchemaPropertyNames; allOf?: SchemaAllOf; anyOf?: SchemaAnyOf; oneOf?: SchemaOneOf; } export interface SchemaBool { value: boolean; } export interface SchemaRef { baseURI: string; ptr: Ptr; uri: string; schema: number; } export interface SchemaType { single: boolean; types: JSONType[]; } export interface SchemaItems { single: boolean; schemas: number[]; } export interface SchemaNot { schema: number; } export interface SchemaIf { schema: number; } export interface SchemaThen { schema: number; } export interface SchemaElse { schema: number; } export interface SchemaConst { value: any; } export interface SchemaEnum { values: any[]; } export interface SchemaMultipleOf { value: number; } export interface SchemaMaximum { value: number; } export interface SchemaMinimum { value: number; } export interface SchemaExclusiveMaximum { value: number; } export interface SchemaExclusiveMinimum { value: number; } export interface SchemaMaxLength { value: number; } export interface SchemaMinLength { value: number; } export interface SchemaPattern { value: RegExp; } export interface SchemaAdditionalItems { schema: number; } export interface SchemaMaxItems { value: number; } export interface SchemaMinItems { value: number; } export interface SchemaUniqueItems { value: boolean; } export interface SchemaContains { schema: number; } export interface SchemaMaxProperties { value: number; } export interface SchemaMinProperties { value: number; } export interface SchemaRequired { properties: string[]; } export interface SchemaProperties { schemas: Map; } export interface SchemaPatternProperties { schemas: Map<[RegExp, string], number>; } export interface SchemaAdditionalProperties { schema: number; } export interface SchemaDependencies { deps: Map; } export interface SchemaDependency { isSchema: boolean; schema: number; properties: string[]; } export interface SchemaPropertyNames { schema: number; } export interface SchemaAllOf { schemas: number[]; } export interface SchemaAnyOf { schemas: number[]; } export interface SchemaOneOf { schemas: number[]; } export declare enum JSONType { Null = 0, Boolean = 1, Number = 2, Integer = 3, String = 4, Array = 5, Object = 6 } export declare function parseJSONType(s: string): JSONType;