import { SchemaPropertyComponentWithProps } from '../services/schemas/utilities'; import { Require } from '../types/utilities'; import { ValidationMethod } from '../utilities/validation'; export type SchemaValue = unknown; export type SchemaValues = Record; export declare const SchemaStringFormats: readonly ["date", "regex", "date-time", "time-delta", "email", "json-string", "password"]; export declare const SchemaTypes: readonly ["block", "null", "string", "boolean", "integer", "number", "array", "object"]; export declare const BaseDefinitionRefString: "#/definitions/"; export type SchemaType = typeof SchemaTypes[number]; export type SchemaStringFormat = typeof SchemaStringFormats[number]; export type SchemaEnum = T[]; export type SchemaReference = `${typeof BaseDefinitionRefString}${string}`; export type SchemaDefinitions = Record; export type BlockSchemaReference = { blockSchemaChecksum: string; blockTypeSlug: string; }; export type BlockSchemaReferences = Record; export type SchemaPropertyAnyOf = Require; export type SchemaPropertyAllOf = Require; export type SchemaProperties = Record; export type SchemaPropertyInputAttrs = Record; export type SchemaPropertyMetaOptions = { attrs?: SchemaPropertyInputAttrs; validators?: ValidationMethod | ValidationMethod[]; required?: boolean; }; export type SchemaPropertyMeta = Partial & SchemaPropertyMetaOptions; export type SchemaProperty = { blockTypeSlug?: string; meta?: SchemaPropertyMeta; position?: number; $ref?: SchemaReference; anyOf?: Schema[]; allOf?: Schema[]; example?: string; examples?: string[]; alias?: string; default?: unknown; description?: string; enum?: SchemaEnum; exclusiveMaximum?: number; exclusiveMinimum?: number; format?: SchemaStringFormat; items?: SchemaProperty; maximum?: number; maxItems?: number; maxLength?: number; minimum?: number; minItems?: number; minLength?: number; multipleOf?: number; pattern?: string; properties?: SchemaProperties; additionalProperties?: SchemaProperty | boolean; required?: string[]; title?: string; type?: SchemaType; uniqueItems?: boolean; }; export type Schema = SchemaProperty & { blockSchemaReferences?: BlockSchemaReferences; secretFields?: string[]; definitions?: SchemaDefinitions; }; export type WorkerBaseJobTemplate = { job_configuration?: Record; variables?: Schema; }; export declare function isSchemaValues(input: unknown): input is SchemaValues; export declare function schemaHas(schema: T, property: P): schema is T & Require;