import React from "react"; import { type FormSection } from "../../../components/interactive/GlassFormBuilder"; export interface FormStep { id: string; title: string; description?: string; sections: FormSection[]; optional?: boolean; validation?: (values: GlassFormTemplateValues) => Promise>; } export type GlassFormTemplateValues = Record; export interface GlassFormTemplateProps extends Omit, "autoSave" | "onChange" | "onSubmit"> { /** * Form title */ title: string; /** * Form description */ description?: string; /** * Form steps (for multi-step forms) */ steps?: FormStep[]; /** * Single form schema (for single-step forms) */ schema?: FormSection[]; /** * Form values */ values?: GlassFormTemplateValues; /** * Form errors */ errors?: Record; /** * Whether form is in multi-step mode */ multiStep?: boolean; /** * Current step index */ currentStep?: number; /** * Step change handler */ onStepChange?: (step: number) => void; /** * Form submit handler */ onSubmit?: (values: GlassFormTemplateValues) => Promise | void; /** * Form cancel handler */ onCancel?: () => void; /** * Value change handler */ onChange?: (values: GlassFormTemplateValues) => void; /** * Form validation handler */ onValidate?: (values: GlassFormTemplateValues) => Record; /** * Loading state */ loading?: boolean; /** * Whether form can be saved as draft */ allowDraft?: boolean; /** * Draft save handler */ onSaveDraft?: (values: GlassFormTemplateValues) => void; /** * Form layout */ layout?: "default" | "centered" | "sidebar"; /** * Sidebar content (for sidebar layout) */ sidebar?: React.ReactNode; /** * Show progress indicator */ showProgress?: boolean; /** * Auto-save functionality */ autoSave?: boolean; /** * Submit button text */ submitText?: string; /** * Cancel button text */ cancelText?: string; /** * Next button text */ nextText?: string; /** * Previous button text */ previousText?: string; /** * Compact preview/card layout. */ compact?: boolean; /** * Bound the template inside its parent container. */ contained?: boolean; /** * Maximum height for compact/contained templates. */ maxHeight?: number | string; } /** * GlassFormTemplate component * Comprehensive form template with single-step and multi-step support */ export declare const GlassFormTemplate: React.ForwardRefExoticComponent>; //# sourceMappingURL=GlassFormTemplate.d.ts.map