import type { FieldValueValidator, FormValueValidator, Schema, Validator } from "@sjsf/form"; import type { Merger } from "@sjsf/form/core"; import type { ValueToJSON } from "../validator.js"; export type CompiledValidateFunction = (data: unknown) => boolean; export type ValidateFunctions = { [key: string]: CompiledValidateFunction; }; interface LegacyValidatorOptions { /** @deprecated use `validatorRetriever` instead */ validateFunctions: ValidateFunctions; /** @deprecated use `validatorRetriever` instead */ augmentSuffix?: string; validatorRetriever?: (schema: Schema) => CompiledValidateFunction; } interface ModernValidatorOptions { validatorRetriever: (schema: Schema) => CompiledValidateFunction; } type CoreValidatorOptions = LegacyValidatorOptions | ModernValidatorOptions; export type ValidatorOptions = ValueToJSON & CoreValidatorOptions; export declare function createValidator(options: ValidatorOptions): Validator; export type FormValueValidatorOptions = ValidatorOptions & { merger: () => Merger; }; export declare function createFormValueValidator(options: FormValueValidatorOptions): FormValueValidator; export declare function createFieldValueValidator(options: ValidatorOptions): FieldValueValidator; export type FormValidatorOptions = ValidatorOptions & FormValueValidatorOptions; export declare function createFormValidatorFactory(vOptions: CoreValidatorOptions & Partial): (options: Omit) => Validator & FormValueValidator & FieldValueValidator; export {};