import { z } from "zod"; import { type FieldValues, type SubmitHandler, type DefaultValues, type UseFormReturn } from "react-hook-form"; import { type FieldRef, type Renderers } from "./renderers"; import type { PathOf } from "./paths"; import { type PropsWithChildren } from "react"; import { type ButtonProps } from "../../atoms/Button"; type Section = { title?: string; type: "section"; description?: string; blocks: Block[]; layout?: "sidebar" | "inline"; }; export type Block = FieldRef | Block[] | Section | { title: string; } | { type: "step"; title: string; content: Block[]; } | { type: "repeater"; name: PathOf; template: Block[]; }; export type Layout = Block[]; type SchemaEq = z.ZodType; export type FormProps = { schema: SchemaEq; layout: Layout; defaultValues?: DefaultValues; onSubmit?: SubmitHandler; mode?: "onSubmit" | "onBlur" | "onChange" | "all"; renderers?: Renderers; showDebugFormValues?: boolean; submitButtonContainerClassName?: string; }; type RenderCtx = { layout: Layout; methods: UseFormReturn; renderers: Renderers; submitButtonContainerClassName?: string; }; export declare function RenderLayout(props: PropsWithChildren>): import("react/jsx-runtime").JSX.Element; export declare function Form({ schema, layout, defaultValues, onSubmit, mode, showDebugFormValues, renderers, submitButtonContainerClassName, children, }: PropsWithChildren>): import("react/jsx-runtime").JSX.Element; export declare function FormSubmitButton({ ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element; export {};