import { FieldProps as RJSFFieldProps, WidgetProps as RJSFWidgetProps, UiSchema as RJSFUiSchema } from "@rjsf/utils"; import { FormContext } from "./components/LajiForm"; export type JSON = string | number | boolean | JSONObject | JSON[] | null; export type JSONObject = { [prop: string]: JSON; }; export type JSONSchema = JSONSchemaObject | JSONSchemaArray | JSONSchemaNumber | JSONSchemaInteger | JSONSchemaBoolean | JSONSchemaString | JSONSchemaEnum; type JSONShemaTypeCommon = { type: T; default?: D; title?: string; }; export type JSONSchemaObject = JSONShemaTypeCommon<"object", Record> & { properties: Record; required?: string[]; }; export declare function isJSONSchemaObject(schema: JSONSchema): schema is JSONSchemaObject; export type JSONSchemaArray = JSONShemaTypeCommon<"array", D[]> & { items: T; uniqueItems?: boolean; minItems?: number; maxItems?: number; }; export declare function isJSONSchemaArray(schema: JSONSchema): schema is JSONSchemaArray; export type JSONSchemaNumber = JSONShemaTypeCommon<"number", number>; export type JSONSchemaInteger = JSONShemaTypeCommon<"integer", number>; export type JSONSchemaBoolean = JSONShemaTypeCommon<"boolean", boolean>; export type JSONSchemaString = JSONShemaTypeCommon<"string", string>; export type JSONSchemaEnumOneOf = { const: string; title: string; }; export type JSONSchemaEnum = JSONSchemaString & { oneOf: JSONSchemaEnumOneOf[]; }; export declare function isJSONSchemaEnum(jsonSchema: JSONSchema): jsonSchema is JSONSchemaEnum; export type Lang = "fi" | "en" | "sv"; export type WithNonNullableKeys = Omit & { [P in K]-?: NonNullable; }; export type FieldProps = WithNonNullableKeys, "errorSchema" | "formContext"> & { registry: RJSFFieldProps["registry"]; }; export type WidgetProps = WithNonNullableKeys, "errorSchema" | "formContext"> & { registry: RJSFWidgetProps["registry"]; }; export type UiSchema = RJSFUiSchema; export interface HasMaybeChildren { children?: React.ReactNode; } export interface HasMaybeClassName { className?: string; } export type Optional = Omit & Partial<{ [K: string]: T[K]; }>; export {};