some deletions
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / @types / json-schema / index.d.ts
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/@types/json-schema/index.d.ts b/.config/coc/extensions/node_modules/coc-prettier/node_modules/@types/json-schema/index.d.ts
deleted file mode 100644 (file)
index be735fb..0000000
+++ /dev/null
@@ -1,747 +0,0 @@
-// Type definitions for json-schema 4.0, 6.0 and 7.0
-// Project: https://github.com/kriszyp/json-schema
-// Definitions by: Boris Cherny <https://github.com/bcherny>
-//                 Cyrille Tuzi <https://github.com/cyrilletuzi>
-//                 Lucian Buzzo <https://github.com/lucianbuzzo>
-//                 Roland Groza <https://github.com/rolandjitsu>
-//                 Jason Kwok <https://github.com/JasonHK>
-// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
-// TypeScript Version: 2.2
-
-//==================================================================================================
-// JSON Schema Draft 04
-//==================================================================================================
-
-/**
- * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
- */
-export type JSONSchema4TypeName =
-    | 'string'
-    | 'number'
-    | 'integer'
-    | 'boolean'
-    | 'object'
-    | 'array'
-    | 'null'
-    | 'any';
-
-/**
- * @see https://tools.ietf.org/html/draft-zyp-json-schema-04#section-3.5
- */
-export type JSONSchema4Type =
-    | string
-    | number
-    | boolean
-    | JSONSchema4Object
-    | JSONSchema4Array
-    | null;
-
-// Workaround for infinite type recursion
-export interface JSONSchema4Object {
-    [key: string]: JSONSchema4Type;
-}
-
-// Workaround for infinite type recursion
-// https://github.com/Microsoft/TypeScript/issues/3496#issuecomment-128553540
-export interface JSONSchema4Array extends Array<JSONSchema4Type> {}
-
-/**
- * Meta schema
- *
- * Recommended values:
- * - 'http://json-schema.org/schema#'
- * - 'http://json-schema.org/hyper-schema#'
- * - 'http://json-schema.org/draft-04/schema#'
- * - 'http://json-schema.org/draft-04/hyper-schema#'
- * - 'http://json-schema.org/draft-03/schema#'
- * - 'http://json-schema.org/draft-03/hyper-schema#'
- *
- * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-5
- */
-export type JSONSchema4Version = string;
-
-/**
- * JSON Schema V4
- * @see https://tools.ietf.org/html/draft-zyp-json-schema-04
- */
-export interface JSONSchema4 {
-    id?: string
-    $ref?: string
-    $schema?: JSONSchema4Version
-
-    /**
-     * This attribute is a string that provides a short description of the
-     * instance property.
-     *
-     * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.21
-     */
-    title?: string
-
-    /**
-     * This attribute is a string that provides a full description of the of
-     * purpose the instance property.
-     *
-     * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.22
-     */
-    description?: string
-
-    default?: JSONSchema4Type
-    multipleOf?: number
-    maximum?: number
-    exclusiveMaximum?: boolean
-    minimum?: number
-    exclusiveMinimum?: boolean
-    maxLength?: number
-    minLength?: number
-    pattern?: string
-
-    /**
-     * May only be defined when "items" is defined, and is a tuple of JSONSchemas.
-     *
-     * This provides a definition for additional items in an array instance
-     * when tuple definitions of the items is provided.  This can be false
-     * to indicate additional items in the array are not allowed, or it can
-     * be a schema that defines the schema of the additional items.
-     *
-     * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.6
-     */
-    additionalItems?: boolean | JSONSchema4
-
-    /**
-     * This attribute defines the allowed items in an instance array, and
-     * MUST be a schema or an array of schemas.  The default value is an
-     * empty schema which allows any value for items in the instance array.
-     *
-     * When this attribute value is a schema and the instance value is an
-     * array, then all the items in the array MUST be valid according to the
-     * schema.
-     *
-     * When this attribute value is an array of schemas and the instance
-     * value is an array, each position in the instance array MUST conform
-     * to the schema in the corresponding position for this array.  This
-     * called tuple typing.  When tuple typing is used, additional items are
-     * allowed, disallowed, or constrained by the "additionalItems"
-     * (Section 5.6) attribute using the same rules as
-     * "additionalProperties" (Section 5.4) for objects.
-     *
-     * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.5
-     */
-    items?: JSONSchema4 | JSONSchema4[]
-
-    maxItems?: number
-    minItems?: number
-    uniqueItems?: boolean
-    maxProperties?: number
-    minProperties?: number
-
-    /**
-     * This attribute indicates if the instance must have a value, and not
-     * be undefined. This is false by default, making the instance
-     * optional.
-     *
-     * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.7
-     */
-    required?: false | string[]
-
-    /**
-     * This attribute defines a schema for all properties that are not
-     * explicitly defined in an object type definition. If specified, the
-     * value MUST be a schema or a boolean. If false is provided, no
-     * additional properties are allowed beyond the properties defined in
-     * the schema. The default value is an empty schema which allows any
-     * value for additional properties.
-     *
-     * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.4
-     */
-    additionalProperties?: boolean | JSONSchema4
-
-    definitions?: {
-        [k: string]: JSONSchema4
-    }
-
-    /**
-     * This attribute is an object with property definitions that define the
-     * valid values of instance object property values. When the instance
-     * value is an object, the property values of the instance object MUST
-     * conform to the property definitions in this object. In this object,
-     * each property definition's value MUST be a schema, and the property's
-     * name MUST be the name of the instance property that it defines.  The
-     * instance property value MUST be valid according to the schema from
-     * the property definition. Properties are considered unordered, the
-     * order of the instance properties MAY be in any order.
-     *
-     * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.2
-     */
-    properties?: {
-        [k: string]: JSONSchema4
-    }
-
-    /**
-     * This attribute is an object that defines the schema for a set of
-     * property names of an object instance. The name of each property of
-     * this attribute's object is a regular expression pattern in the ECMA
-     * 262/Perl 5 format, while the value is a schema. If the pattern
-     * matches the name of a property on the instance object, the value of
-     * the instance's property MUST be valid against the pattern name's
-     * schema value.
-     *
-     * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.3
-     */
-    patternProperties?: {
-        [k: string]: JSONSchema4
-    }
-    dependencies?: {
-        [k: string]: JSONSchema4 | string[]
-    }
-
-    /**
-     * This provides an enumeration of all possible values that are valid
-     * for the instance property. This MUST be an array, and each item in
-     * the array represents a possible value for the instance value. If
-     * this attribute is defined, the instance value MUST be one of the
-     * values in the array in order for the schema to be valid.
-     *
-     * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.19
-     */
-    enum?: JSONSchema4Type[]
-
-    /**
-     * A single type, or a union of simple types
-     */
-    type?: JSONSchema4TypeName | JSONSchema4TypeName[]
-
-    allOf?: JSONSchema4[]
-    anyOf?: JSONSchema4[]
-    oneOf?: JSONSchema4[]
-    not?: JSONSchema4
-
-    /**
-     * The value of this property MUST be another schema which will provide
-     * a base schema which the current schema will inherit from.  The
-     * inheritance rules are such that any instance that is valid according
-     * to the current schema MUST be valid according to the referenced
-     * schema.  This MAY also be an array, in which case, the instance MUST
-     * be valid for all the schemas in the array.  A schema that extends
-     * another schema MAY define additional attributes, constrain existing
-     * attributes, or add other constraints.
-     *
-     * Conceptually, the behavior of extends can be seen as validating an
-     * instance against all constraints in the extending schema as well as
-     * the extended schema(s).
-     *
-     * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.26
-     */
-    extends?: string | string[]
-
-    /**
-     * @see https://tools.ietf.org/html/draft-zyp-json-schema-04#section-5.6
-     */
-    [k: string]: any
-
-    format?: string
-}
-
-//==================================================================================================
-// JSON Schema Draft 06
-//==================================================================================================
-
-export type JSONSchema6TypeName =
-    | 'string'
-    | 'number'
-    | 'integer'
-    | 'boolean'
-    | 'object'
-    | 'array'
-    | 'null'
-    | 'any';
-
-export type JSONSchema6Type =
-    | string
-    | number
-    | boolean
-    | JSONSchema6Object
-    | JSONSchema6Array
-    | null;
-
-// Workaround for infinite type recursion
-export interface JSONSchema6Object {
-    [key: string]: JSONSchema6Type;
-}
-
-// Workaround for infinite type recursion
-// https://github.com/Microsoft/TypeScript/issues/3496#issuecomment-128553540
-export interface JSONSchema6Array extends Array<JSONSchema6Type> {}
-
-/**
- * Meta schema
- *
- * Recommended values:
- * - 'http://json-schema.org/schema#'
- * - 'http://json-schema.org/hyper-schema#'
- * - 'http://json-schema.org/draft-06/schema#'
- * - 'http://json-schema.org/draft-06/hyper-schema#'
- *
- * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-5
- */
-export type JSONSchema6Version = string;
-
-/**
- * JSON Schema V6
- * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01
- */
-export type JSONSchema6Definition = JSONSchema6 | boolean;
-export interface JSONSchema6 {
-    $id?: string
-    $ref?: string
-    $schema?: JSONSchema6Version
-
-    /**
-     * Must be strictly greater than 0.
-     * A numeric instance is valid only if division by this keyword's value results in an integer.
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.1
-     */
-    multipleOf?: number
-
-    /**
-     * Representing an inclusive upper limit for a numeric instance.
-     * This keyword validates only if the instance is less than or exactly equal to "maximum".
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.2
-     */
-    maximum?: number
-
-    /**
-     * Representing an exclusive upper limit for a numeric instance.
-     * This keyword validates only if the instance is strictly less than (not equal to) to "exclusiveMaximum".
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.3
-     */
-    exclusiveMaximum?: number
-
-    /**
-     * Representing an inclusive lower limit for a numeric instance.
-     * This keyword validates only if the instance is greater than or exactly equal to "minimum".
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.4
-     */
-    minimum?: number
-
-    /**
-     * Representing an exclusive lower limit for a numeric instance.
-     * This keyword validates only if the instance is strictly greater than (not equal to) to "exclusiveMinimum".
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.5
-     */
-    exclusiveMinimum?: number
-
-    /**
-     * Must be a non-negative integer.
-     * A string instance is valid against this keyword if its length is less than, or equal to, the value of this keyword.
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.6
-     */
-    maxLength?: number
-
-    /**
-     * Must be a non-negative integer.
-     * A string instance is valid against this keyword if its length is greater than, or equal to, the value of this keyword.
-     * Omitting this keyword has the same behavior as a value of 0.
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.7
-     */
-    minLength?: number
-
-    /**
-     * Should be a valid regular expression, according to the ECMA 262 regular expression dialect.
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.8
-     */
-    pattern?: string
-
-    /**
-     * This keyword determines how child instances validate for arrays, and does not directly validate the immediate instance itself.
-     * Omitting this keyword has the same behavior as an empty schema.
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.9
-     */
-    items?: JSONSchema6Definition | JSONSchema6Definition[]
-
-    /**
-     * This keyword determines how child instances validate for arrays, and does not directly validate the immediate instance itself.
-     * If "items" is an array of schemas, validation succeeds if every instance element
-     * at a position greater than the size of "items" validates against "additionalItems".
-     * Otherwise, "additionalItems" MUST be ignored, as the "items" schema
-     * (possibly the default value of an empty schema) is applied to all elements.
-     * Omitting this keyword has the same behavior as an empty schema.
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.10
-     */
-    additionalItems?: JSONSchema6Definition
-
-    /**
-     * Must be a non-negative integer.
-     * An array instance is valid against "maxItems" if its size is less than, or equal to, the value of this keyword.
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.11
-     */
-    maxItems?: number
-
-    /**
-     * Must be a non-negative integer.
-     * An array instance is valid against "maxItems" if its size is greater than, or equal to, the value of this keyword.
-     * Omitting this keyword has the same behavior as a value of 0.
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.12
-     */
-    minItems?: number
-
-    /**
-     * If this keyword has boolean value false, the instance validates successfully.
-     * If it has boolean value true, the instance validates successfully if all of its elements are unique.
-     * Omitting this keyword has the same behavior as a value of false.
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.13
-     */
-    uniqueItems?: boolean
-
-    /**
-     * An array instance is valid against "contains" if at least one of its elements is valid against the given schema.
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.14
-     */
-    contains?: JSONSchema6Definition
-
-    /**
-     * Must be a non-negative integer.
-     * An object instance is valid against "maxProperties" if its number of properties is less than, or equal to, the value of this keyword.
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.15
-     */
-    maxProperties?: number
-
-    /**
-     * Must be a non-negative integer.
-     * An object instance is valid against "maxProperties" if its number of properties is greater than,
-     * or equal to, the value of this keyword.
-     * Omitting this keyword has the same behavior as a value of 0.
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.16
-     */
-    minProperties?: number
-
-    /**
-     * Elements of this array must be unique.
-     * An object instance is valid against this keyword if every item in the array is the name of a property in the instance.
-     * Omitting this keyword has the same behavior as an empty array.
-     *
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.17
-     */
-    required?: string[]
-
-    /**
-     * This keyword determines how child instances validate for objects, and does not directly validate the immediate instance itself.
-     * Validation succeeds if, for each name that appears in both the instance and as a name within this keyword's value,
-     * the child instance for that name successfully validates against the corresponding schema.
-     * Omitting this keyword has the same behavior as an empty object.
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.18
-     */
-    properties?: {
-        [k: string]: JSONSchema6Definition
-    }
-
-    /**
-     * This attribute is an object that defines the schema for a set of property names of an object instance.
-     * The name of each property of this attribute's object is a regular expression pattern in the ECMA 262, while the value is a schema.
-     * If the pattern matches the name of a property on the instance object, the value of the instance's property
-     * MUST be valid against the pattern name's schema value.
-     * Omitting this keyword has the same behavior as an empty object.
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.19
-     */
-    patternProperties?: {
-        [k: string]: JSONSchema6Definition
-    }
-
-    /**
-     * This attribute defines a schema for all properties that are not explicitly defined in an object type definition.
-     * If specified, the value MUST be a schema or a boolean.
-     * If false is provided, no additional properties are allowed beyond the properties defined in the schema.
-     * The default value is an empty schema which allows any value for additional properties.
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.20
-     */
-    additionalProperties?: JSONSchema6Definition
-
-    /**
-     * This keyword specifies rules that are evaluated if the instance is an object and contains a certain property.
-     * Each property specifies a dependency.
-     * If the dependency value is an array, each element in the array must be unique.
-     * Omitting this keyword has the same behavior as an empty object.
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.21
-     */
-    dependencies?: {
-        [k: string]: JSONSchema6Definition | string[]
-    }
-
-    /**
-     * Takes a schema which validates the names of all properties rather than their values.
-     * Note the property name that the schema is testing will always be a string.
-     * Omitting this keyword has the same behavior as an empty schema.
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.22
-     */
-    propertyNames?: JSONSchema6Definition
-
-    /**
-     * This provides an enumeration of all possible values that are valid
-     * for the instance property. This MUST be an array, and each item in
-     * the array represents a possible value for the instance value. If
-     * this attribute is defined, the instance value MUST be one of the
-     * values in the array in order for the schema to be valid.
-     *
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.23
-     */
-    enum?: JSONSchema6Type[]
-
-    /**
-     * More readable form of a one-element "enum"
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.24
-     */
-    const?: JSONSchema6Type
-
-    /**
-     * A single type, or a union of simple types
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.25
-     */
-    type?: JSONSchema6TypeName | JSONSchema6TypeName[]
-
-    /**
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.26
-     */
-    allOf?: JSONSchema6Definition[]
-
-    /**
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.27
-     */
-    anyOf?: JSONSchema6Definition[]
-
-    /**
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.28
-     */
-    oneOf?: JSONSchema6Definition[]
-
-    /**
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.29
-     */
-    not?: JSONSchema6Definition
-
-    /**
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-7.1
-     */
-    definitions?: {
-        [k: string]: JSONSchema6Definition
-    }
-
-    /**
-     * This attribute is a string that provides a short description of the instance property.
-     *
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-7.2
-     */
-    title?: string
-
-    /**
-     * This attribute is a string that provides a full description of the of purpose the instance property.
-     *
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-7.2
-     */
-    description?: string
-
-    /**
-     * This keyword can be used to supply a default JSON value associated with a particular schema.
-     * It is RECOMMENDED that a default value be valid against the associated schema.
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-7.3
-     */
-    default?: JSONSchema6Type
-
-    /**
-     * Array of examples with no validation effect the value of "default" is usable as an example without repeating it under this keyword
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-7.4
-     */
-    examples?: JSONSchema6Type[]
-
-    /**
-     * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-8
-     */
-    format?: string
-}
-
-//==================================================================================================
-// JSON Schema Draft 07
-//==================================================================================================
-// https://tools.ietf.org/html/draft-handrews-json-schema-validation-01
-//--------------------------------------------------------------------------------------------------
-
-/**
- * Primitive type
- * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.1.1
- */
-export type JSONSchema7TypeName =
-    | 'string'
-    | 'number'
-    | 'integer'
-    | 'boolean'
-    | 'object'
-    | 'array'
-    | 'null';
-
-/**
- * Primitive type
- * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.1.1
- */
-export type JSONSchema7Type =
-    | string
-    | number
-    | boolean
-    | JSONSchema7Object
-    | JSONSchema7Array
-    | null;
-
-// Workaround for infinite type recursion
-export interface JSONSchema7Object {
-    [key: string]: JSONSchema7Type;
-}
-
-// Workaround for infinite type recursion
-// https://github.com/Microsoft/TypeScript/issues/3496#issuecomment-128553540
-export interface JSONSchema7Array extends Array<JSONSchema7Type> {}
-
-/**
- * Meta schema
- *
- * Recommended values:
- * - 'http://json-schema.org/schema#'
- * - 'http://json-schema.org/hyper-schema#'
- * - 'http://json-schema.org/draft-07/schema#'
- * - 'http://json-schema.org/draft-07/hyper-schema#'
- *
- * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-5
- */
-export type JSONSchema7Version = string;
-
-/**
- * JSON Schema v7
- * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01
- */
-export type JSONSchema7Definition = JSONSchema7 | boolean;
-export interface JSONSchema7 {
-    $id?: string;
-    $ref?: string;
-    $schema?: JSONSchema7Version;
-    $comment?: string;
-
-    /**
-     * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.1
-     */
-    type?: JSONSchema7TypeName | JSONSchema7TypeName[];
-    enum?: JSONSchema7Type[];
-    const?: JSONSchema7Type;
-
-    /**
-     * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.2
-     */
-    multipleOf?: number;
-    maximum?: number;
-    exclusiveMaximum?: number;
-    minimum?: number;
-    exclusiveMinimum?: number;
-
-    /**
-     * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.3
-     */
-    maxLength?: number;
-    minLength?: number;
-    pattern?: string;
-
-    /**
-     * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.4
-     */
-    items?: JSONSchema7Definition | JSONSchema7Definition[];
-    additionalItems?: JSONSchema7Definition;
-    maxItems?: number;
-    minItems?: number;
-    uniqueItems?: boolean;
-    contains?: JSONSchema7;
-
-    /**
-     * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.5
-     */
-    maxProperties?: number;
-    minProperties?: number;
-    required?: string[];
-    properties?: {
-        [key: string]: JSONSchema7Definition;
-    };
-    patternProperties?: {
-        [key: string]: JSONSchema7Definition;
-    };
-    additionalProperties?: JSONSchema7Definition;
-    dependencies?: {
-        [key: string]: JSONSchema7Definition | string[];
-    };
-    propertyNames?: JSONSchema7Definition;
-
-    /**
-     * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.6
-     */
-    if?: JSONSchema7Definition;
-    then?: JSONSchema7Definition;
-    else?: JSONSchema7Definition;
-
-    /**
-     * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.7
-     */
-    allOf?: JSONSchema7Definition[];
-    anyOf?: JSONSchema7Definition[];
-    oneOf?: JSONSchema7Definition[];
-    not?: JSONSchema7Definition;
-
-    /**
-     * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-7
-     */
-    format?: string;
-
-    /**
-     * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-8
-     */
-    contentMediaType?: string;
-    contentEncoding?: string;
-
-    /**
-     * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-9
-     */
-    definitions?: {
-        [key: string]: JSONSchema7Definition;
-    };
-
-    /**
-     * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-10
-     */
-    title?: string;
-    description?: string;
-    default?: JSONSchema7Type;
-    readOnly?: boolean;
-    writeOnly?: boolean;
-    examples?: JSONSchema7Type;
-}
-
-export interface ValidationResult {
-    valid: boolean;
-    errors: ValidationError[];
-}
-
-export interface ValidationError {
-    property: string;
-    message: string;
-}
-
-/**
- * To use the validator call JSONSchema.validate with an instance object and an optional schema object.
- * If a schema is provided, it will be used to validate. If the instance object refers to a schema (self-validating),
- * that schema will be used to validate and the schema parameter is not necessary (if both exist,
- * both validations will occur).
- */
-export function validate(instance: {}, schema: JSONSchema4 | JSONSchema6 | JSONSchema7): ValidationResult;
-
-/**
- * The checkPropertyChange method will check to see if an value can legally be in property with the given schema
- * This is slightly different than the validate method in that it will fail if the schema is readonly and it will
- * not check for self-validation, it is assumed that the passed in value is already internally valid.
- */
-export function checkPropertyChange(value: any, schema: JSONSchema4 | JSONSchema6 | JSONSchema7, property: string): ValidationResult;
-
-/**
- * This checks to ensure that the result is valid and will throw an appropriate error message if it is not.
- */
-export function mustBeValid(result: ValidationResult): void;