import { ZodType } from 'zod'; import { RenderConfigSchema, EnhancedRenderConfig, ZodSchemaWithRender, FormFieldType, FieldMetadata, SelectOption } from './types'; /** * Extends a Zod schema with render configuration capabilities */ export declare function extendZodSchema(schema: ZodType): ZodSchemaWithRender; /** * Checks if a schema has render configuration */ export declare function hasRenderConfig(schema: unknown): schema is ZodSchemaWithRender; /** * Extracts render configuration from a schema */ export declare function getRenderConfig(schema: ZodType): EnhancedRenderConfig | undefined; /** * Infers form field type from Zod schema type with enhanced field detection */ export declare function inferFieldTypeFromSchema(schema: ZodType): FormFieldType; /** * Extracts options from enum, union, or literal schemas */ export declare function extractOptionsFromSchema(schema: ZodType): SelectOption[] | undefined; /** * Checks if a schema is optional */ export declare function isOptionalSchema(schema: ZodType): boolean; /** * Gets the inner schema from optional/default wrappers */ export declare function getInnerSchema(schema: ZodType): ZodType; /** * Extracts validation constraints from a schema with enhanced support */ export declare function extractValidationConstraints(schema: ZodType): Record; /** * Gets default value from schema with comprehensive type support */ export declare function getDefaultValue(schema: ZodType): unknown; /** * Extracts field metadata from schema including render configuration */ export declare function extractFieldMetadata(schema: ZodType): FieldMetadata; /** * Helper function to create common render configurations */ export declare const renderConfigs: { text: (label: string, placeholder?: string, priority?: "essential" | "common" | "advanced" | "expert") => EnhancedRenderConfig; number: (label: string, min?: number, max?: number, priority?: "essential" | "common" | "advanced" | "expert") => EnhancedRenderConfig; select: (label: string, options: SelectOption[], priority?: "essential" | "common" | "advanced" | "expert") => EnhancedRenderConfig; textarea: (label: string, rows?: number, priority?: "essential" | "common" | "advanced" | "expert") => EnhancedRenderConfig; currency: (label: string, symbol?: string, priority?: "essential" | "common" | "advanced" | "expert") => EnhancedRenderConfig; array: (label: string, itemLabel?: string, priority?: "essential" | "common" | "advanced" | "expert") => EnhancedRenderConfig; essential: { text: (label: string, placeholder?: string) => EnhancedRenderConfig; number: (label: string, min?: number, max?: number) => EnhancedRenderConfig; select: (label: string, options: SelectOption[]) => EnhancedRenderConfig; textarea: (label: string, rows?: number) => EnhancedRenderConfig; }; advanced: { text: (label: string, placeholder?: string) => EnhancedRenderConfig; number: (label: string, min?: number, max?: number) => EnhancedRenderConfig; select: (label: string, options: SelectOption[]) => EnhancedRenderConfig; textarea: (label: string, rows?: number) => EnhancedRenderConfig; array: (label: string, itemLabel?: string) => EnhancedRenderConfig; }; expert: { text: (label: string, placeholder?: string) => EnhancedRenderConfig; number: (label: string, min?: number, max?: number) => EnhancedRenderConfig; select: (label: string, options: SelectOption[]) => EnhancedRenderConfig; textarea: (label: string, rows?: number) => EnhancedRenderConfig; }; }; /** * Extends Zod prototype to add withRender functionality globally */ export declare function installZodRenderExtensions(): void; /** * Creates a progressive form schema with grouped fields */ export declare function createProgressiveSchema(baseSchema: ZodType, groups: Record): ZodSchemaWithRender; /** * Utility to convert legacy render configs to enhanced configs */ export declare function enhanceRenderConfig(config: RenderConfigSchema): EnhancedRenderConfig; /** * Helper to extract progressive disclosure information from schema */ export declare function extractProgressiveInfo(schema: ZodType): { priority: 'essential' | 'common' | 'advanced' | 'expert'; group?: string; };