import { SchemaDefinition, FieldBuilder } from './form-flow'; export type FormState = 'idle' | 'submitting' | 'success' | 'error'; export interface Props = Record> { schema: SchemaDefinition; modelValue?: T; components?: Record; errors?: Record; /** Async submit handler — FormFlow awaits it and manages formState. */ onSubmit?: (data: T) => Promise | void; } declare const _default: >(__VLS_props: NonNullable>["props"], __VLS_ctx?: __VLS_PrettifyLocal>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable>["expose"], __VLS_setup?: Promise<{ props: __VLS_PrettifyLocal & Omit<{ readonly "onUpdate:modelValue"?: ((value: T) => any) | undefined; } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:modelValue"> & Props & Partial<{}>> & import('vue').PublicProps; expose(exposed: import('vue').ShallowUnwrapRef<{ validate: () => boolean; submit: (event?: Event) => Promise; formState: import('vue').Ref; }>): void; attrs: any; slots: Readonly<{ submit?: ((_: { submit: (event?: Event) => Promise; validate: () => boolean; formData: T; errors: Record; formState: FormState; }) => any) | undefined; success?: ((_: { formData: T; }) => any) | undefined; error?: ((_: { formData: T; }) => any) | undefined; errors?: (_: { errors: Record; errorCount: number; visibleFields: { key: string; field: FieldBuilder; }[]; }) => any; } & Partial void; }) => any>>> & { submit?: ((_: { submit: (event?: Event) => Promise; validate: () => boolean; formData: T; errors: Record; formState: FormState; }) => any) | undefined; success?: ((_: { formData: T; }) => any) | undefined; error?: ((_: { formData: T; }) => any) | undefined; errors?: (_: { errors: Record; errorCount: number; visibleFields: { key: string; field: FieldBuilder; }[]; }) => any; } & Partial void; }) => any>>; emit: (evt: "update:modelValue", value: T) => void; }>) => import('vue').VNode & { __ctx?: Awaited; }; export default _default; type __VLS_PrettifyLocal = { [K in keyof T]: T[K]; } & {}; //# sourceMappingURL=FormFlow.vue.d.ts.map