import type { JSONSchema7 as OriginalJSONSchema7 } from "json-schema";
export declare const $JSONSchema7: unique symbol;
export declare type $JSONSchema7 = typeof $JSONSchema7;
export declare type JSONSchema7 = boolean | (Omit<OriginalJSONSchema7, "const" | "enum" | "items" | "additionalItems" | "contains" | "properties" | "patternProperties" | "additionalProperties" | "dependencies" | "propertyNames" | "if" | "then" | "else" | "allOf" | "anyOf" | "oneOf" | "not" | "definitions" | "examples" | "default"> & {
    [$JSONSchema7]?: $JSONSchema7;
    const?: unknown;
    enum?: unknown;
    items?: JSONSchema7 | JSONSchema7[];
    additionalItems?: JSONSchema7;
    contains?: JSONSchema7;
    properties?: Record<string, JSONSchema7>;
    patternProperties?: Record<string, JSONSchema7>;
    additionalProperties?: JSONSchema7;
    dependencies?: {
        [key: string]: JSONSchema7 | string[];
    };
    propertyNames?: JSONSchema7;
    if?: JSONSchema7;
    then?: JSONSchema7;
    else?: JSONSchema7;
    allOf?: JSONSchema7[];
    anyOf?: JSONSchema7[];
    oneOf?: JSONSchema7[];
    not?: JSONSchema7;
    nullable?: boolean;
    definitions?: {
        [key: string]: JSONSchema7;
    };
    examples?: unknown[];
    default?: unknown;
});
export declare type JSONSchema7Reference = JSONSchema7 & {
    $id: string;
};
