import { Simplify } from '../../types/utilities'; export declare const schemaTypes: readonly ["null", "string", "boolean", "integer", "number", "array", "object"], isSchemaType: (value: unknown) => value is "string" | "number" | "boolean" | "object" | "null" | "integer" | "array"; export type SchemaPropertyType = typeof schemaTypes[number]; export declare function isSchemaPropertyType(value: unknown, type: T): value is T; export declare const isSchemaPropertyPrimitiveType: (value: unknown) => value is "string" | "number" | "boolean" | "integer"; export declare const schemaStringFormat: readonly ["date", "date-time", "password", "json-string"], isSchemaStringFormat: (value: unknown) => value is "date" | "date-time" | "password" | "json-string"; export type SchemaStringFormat = typeof schemaStringFormat[number]; export type SchemaDefinition = `#/definitions/${string}`; export type SchemaProperties = Record; export type SchemaDefinitions = Record; export type SchemaProperty = { position?: number; blockTypeSlug?: string; $ref?: SchemaDefinition; anyOf?: SchemaProperty[]; allOf?: SchemaProperty[]; example?: string; default?: unknown; const?: unknown; description?: string; enum?: unknown[]; format?: SchemaStringFormat; items?: SchemaProperty | SchemaProperty[]; prefixItems?: SchemaProperty[]; properties?: SchemaProperties; required?: string[]; title?: string; type?: SchemaPropertyType; minItems?: number; maxItems?: number; }; export declare function isSchemaProperty(value: SchemaProperty | SchemaProperty[] | undefined): value is SchemaProperty; export declare function isPropertyWith(value: SchemaProperty, property: TKey): value is Simplify>>; export type Schema = SchemaProperty & { definitions?: SchemaDefinitions; };