@conform-to/react 1.18.0 → 1.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,35 +1,15 @@
1
1
  import { FieldName } from '@conform-to/dom';
2
2
  import { StandardSchemaV1 } from './standard-schema';
3
- import { FormRef, FormsConfig, FormContext, FormMetadata, FormOptions, Fieldset, FieldMetadata, InferOutput, InferInput, IntentDispatcher } from './types';
4
- export declare function configureForms<BaseErrorShape = string, BaseSchema = StandardSchemaV1, CustomFormMetadata extends Record<string, unknown> = {}, CustomFieldMetadata extends Record<string, unknown> = {}>(config?: Partial<FormsConfig<BaseErrorShape, BaseSchema, CustomFormMetadata, CustomFieldMetadata>>): {
3
+ import { FormRef, FormsConfig, FormContext, FormMetadata, FormOptions, FieldMetadata, InferOutput, IntentDispatcher, InferFormShape, RequireKey, FormHandle } from './types';
4
+ export declare function configureForms<BaseErrorShape = any, BaseSchema = StandardSchemaV1, SchemaErrorShape = string[], CustomFormMetadata extends Record<string, unknown> = {}, CustomFieldMetadata extends Record<string, unknown> = {}>(config?: Partial<FormsConfig<BaseErrorShape, BaseSchema, SchemaErrorShape, CustomFormMetadata, CustomFieldMetadata>>): {
5
5
  FormProvider: (props: {
6
6
  context: FormContext<BaseErrorShape>;
7
7
  children: React.ReactNode;
8
8
  }) => React.ReactElement;
9
9
  useForm: {
10
- <Schema extends BaseSchema, ErrorShape extends BaseErrorShape = BaseErrorShape, Value = InferOutput<Schema>>(schema: Schema, options: FormOptions<InferInput<Schema> extends Record<string, any> ? InferInput<Schema> : never, ErrorShape, Value, Schema, string extends ErrorShape ? never : "onValidate">): {
11
- form: FormMetadata<ErrorShape, CustomFormMetadata, CustomFieldMetadata>;
12
- fields: Fieldset<InferInput<Schema>, ErrorShape, CustomFieldMetadata>;
13
- intent: IntentDispatcher<InferInput<Schema> extends Record<string, any> ? InferInput<Schema> : never>;
14
- };
15
- <FormShape extends Record<string, any> = Record<string, any>, ErrorShape extends BaseErrorShape = BaseErrorShape, Value = undefined>(options: FormOptions<FormShape, ErrorShape, Value, undefined, undefined extends Value ? "onValidate" : never> & {
16
- /**
17
- * @deprecated Use `useForm(schema, options)` instead for better type inference.
18
- *
19
- * Optional standard schema for validation (e.g., Zod, Valibot, Yup).
20
- * Removes the need for manual onValidate setup.
21
- */
22
- schema: StandardSchemaV1<FormShape, Value>;
23
- }): {
24
- form: FormMetadata<ErrorShape, CustomFormMetadata, CustomFieldMetadata>;
25
- fields: Fieldset<FormShape, ErrorShape, CustomFieldMetadata>;
26
- intent: IntentDispatcher<FormShape>;
27
- };
28
- <FormShape extends Record<string, any> = Record<string, any>, ErrorShape extends BaseErrorShape = BaseErrorShape, Value = undefined>(options: FormOptions<FormShape, ErrorShape, Value, undefined, "onValidate">): {
29
- form: FormMetadata<ErrorShape, CustomFormMetadata, CustomFieldMetadata>;
30
- fields: Fieldset<FormShape, ErrorShape, CustomFieldMetadata>;
31
- intent: IntentDispatcher<FormShape>;
32
- };
10
+ <Schema extends BaseSchema, ErrorShape extends BaseErrorShape, Value = InferOutput<Schema>>(schema: Schema, options: RequireKey<FormOptions<InferFormShape<Schema>, ErrorShape, Value, Schema, SchemaErrorShape>, "onValidate">): FormHandle<InferFormShape<Schema>, ErrorShape, CustomFormMetadata, CustomFieldMetadata>;
11
+ <Schema extends BaseSchema, ErrorShape extends BaseErrorShape = SchemaErrorShape extends BaseErrorShape ? SchemaErrorShape : BaseErrorShape, Value = InferOutput<Schema>>(schema: Schema, options: RequireKey<FormOptions<InferFormShape<Schema>, ErrorShape, Value, Schema, SchemaErrorShape>, SchemaErrorShape extends BaseErrorShape ? never : "onValidate">): FormHandle<InferFormShape<Schema>, ErrorShape, CustomFormMetadata, CustomFieldMetadata>;
12
+ <FormShape extends Record<string, any> = Record<string, any>, ErrorShape extends BaseErrorShape = BaseErrorShape, Value = undefined>(options: RequireKey<FormOptions<FormShape, ErrorShape, Value, undefined, SchemaErrorShape>, "onValidate">): FormHandle<FormShape, ErrorShape, CustomFormMetadata, CustomFieldMetadata>;
33
13
  };
34
14
  useFormMetadata: (options?: {
35
15
  formId?: string;
@@ -38,6 +18,1157 @@ export declare function configureForms<BaseErrorShape = string, BaseSchema = Sta
38
18
  formId?: string;
39
19
  }) => FieldMetadata<FieldShape, BaseErrorShape, CustomFieldMetadata>;
40
20
  useIntent: <FormShape extends Record<string, any>>(formRef: FormRef) => IntentDispatcher<FormShape>;
41
- config: FormsConfig<BaseErrorShape, BaseSchema, CustomFormMetadata, CustomFieldMetadata>;
21
+ config: FormsConfig<BaseErrorShape, BaseSchema, SchemaErrorShape, CustomFormMetadata, CustomFieldMetadata>;
42
22
  };
23
+ /**
24
+ * Provides form context to child components.
25
+ * Stacks contexts to support nested forms, with latest context taking priority.
26
+ */
27
+ export declare const FormProvider: (props: {
28
+ context: FormContext<any>;
29
+ children: React.ReactNode;
30
+ }) => React.ReactElement;
31
+ /**
32
+ * The main React hook for form management. Handles form state, validation, and submission
33
+ * while providing access to form metadata, field objects, and form actions.
34
+ *
35
+ * It can be called in two ways:
36
+ * - **Schema first**: Pass a schema as the first argument for automatic validation with type inference
37
+ * - **Manual configuration**: Pass options with custom `onValidate` handler for manual validation
38
+ *
39
+ * See https://conform.guide/api/react/future/useForm
40
+ *
41
+ * **Schema first setup with zod:**
42
+ *
43
+ * ```tsx
44
+ * const { form, fields } = useForm(zodSchema, {
45
+ * lastResult,
46
+ * shouldValidate: 'onBlur',
47
+ * });
48
+ *
49
+ * return (
50
+ * <form {...form.props}>
51
+ * <input name={fields.email.name} defaultValue={fields.email.defaultValue} />
52
+ * <div>{fields.email.errors}</div>
53
+ * </form>
54
+ * );
55
+ * ```
56
+ *
57
+ * **Manual configuration setup with custom validation:**
58
+ *
59
+ * ```tsx
60
+ * const { form, fields } = useForm({
61
+ * onValidate({ payload, error }) {
62
+ * if (!payload.email) {
63
+ * error.fieldErrors.email = ['Required'];
64
+ * }
65
+ * return error;
66
+ * }
67
+ * });
68
+ *
69
+ * return (
70
+ * <form {...form.props}>
71
+ * <input name={fields.email.name} defaultValue={fields.email.defaultValue} />
72
+ * <div>{fields.email.errors}</div>
73
+ * </form>
74
+ * );
75
+ * ```
76
+ */
77
+ export declare const useForm: {
78
+ <Schema extends StandardSchemaV1<unknown, unknown>, ErrorShape extends any, Value = InferOutput<Schema>>(schema: Schema, options: {
79
+ id?: string | undefined | undefined;
80
+ key?: string | undefined | undefined;
81
+ defaultValue?: import("./types").DefaultValue<InferFormShape<Schema>> | undefined;
82
+ onInput?: import("./types").InputHandler | undefined;
83
+ onBlur?: import("./types").BlurHandler | undefined;
84
+ constraint?: Record<string, import("@conform-to/dom/future").ValidationAttributes> | undefined;
85
+ lastResult?: import("@conform-to/dom/future").SubmissionResult<ErrorShape> | null | undefined;
86
+ shouldValidate?: "onSubmit" | "onBlur" | "onInput" | undefined | undefined;
87
+ shouldRevalidate?: "onSubmit" | "onBlur" | "onInput" | undefined | undefined;
88
+ onSubmit?: import("./types").SubmitHandler<InferFormShape<Schema>, NoInfer<ErrorShape>, NoInfer<Value>> | undefined;
89
+ onError?: import("./types").ErrorHandler<NoInfer<ErrorShape>> | undefined;
90
+ serialize?: import("@conform-to/dom/future").CustomSerialize | undefined;
91
+ schemaOptions?: import("./types").InferOptions<Schema> | undefined;
92
+ onValidate: import("./types").ValidateHandler<ErrorShape, Value, InferOutput<Schema>, string[]>;
93
+ }): FormHandle<InferFormShape<Schema>, ErrorShape, {}, {}>;
94
+ <Schema extends StandardSchemaV1<unknown, unknown>, ErrorShape extends any = string[], Value = InferOutput<Schema>>(schema: Schema, options: {
95
+ id?: string | undefined | undefined;
96
+ key?: string | undefined | undefined;
97
+ defaultValue?: import("./types").DefaultValue<InferFormShape<Schema>> | undefined;
98
+ onInput?: import("./types").InputHandler | undefined;
99
+ onBlur?: import("./types").BlurHandler | undefined;
100
+ constraint?: Record<string, import("@conform-to/dom/future").ValidationAttributes> | undefined;
101
+ lastResult?: import("@conform-to/dom/future").SubmissionResult<ErrorShape> | null | undefined;
102
+ shouldValidate?: "onSubmit" | "onBlur" | "onInput" | undefined | undefined;
103
+ shouldRevalidate?: "onSubmit" | "onBlur" | "onInput" | undefined | undefined;
104
+ onValidate?: import("./types").ValidateHandler<ErrorShape, Value, InferOutput<Schema>, string[]> | undefined;
105
+ onSubmit?: import("./types").SubmitHandler<InferFormShape<Schema>, NoInfer<ErrorShape>, NoInfer<Value>> | undefined;
106
+ onError?: import("./types").ErrorHandler<NoInfer<ErrorShape>> | undefined;
107
+ serialize?: import("@conform-to/dom/future").CustomSerialize | undefined;
108
+ schemaOptions?: import("./types").InferOptions<Schema> | undefined;
109
+ }): FormHandle<InferFormShape<Schema>, ErrorShape, {}, {}>;
110
+ <FormShape extends Record<string, any> = Record<string, any>, ErrorShape extends any = any, Value = undefined>(options: {
111
+ id?: string | undefined | undefined;
112
+ key?: string | undefined | undefined;
113
+ defaultValue?: import("./types").DefaultValue<FormShape> | undefined;
114
+ onInput?: import("./types").InputHandler | undefined;
115
+ onBlur?: import("./types").BlurHandler | undefined;
116
+ constraint?: Record<string, import("@conform-to/dom/future").ValidationAttributes> | undefined;
117
+ lastResult?: import("@conform-to/dom/future").SubmissionResult<ErrorShape> | null | undefined;
118
+ shouldValidate?: "onSubmit" | "onBlur" | "onInput" | undefined | undefined;
119
+ shouldRevalidate?: "onSubmit" | "onBlur" | "onInput" | undefined | undefined;
120
+ onSubmit?: import("./types").SubmitHandler<FormShape, NoInfer<ErrorShape>, NoInfer<Value>> | undefined;
121
+ onError?: import("./types").ErrorHandler<NoInfer<ErrorShape>> | undefined;
122
+ serialize?: import("@conform-to/dom/future").CustomSerialize | undefined;
123
+ schemaOptions?: undefined;
124
+ onValidate: import("./types").ValidateHandler<ErrorShape, Value, undefined, string[]>;
125
+ }): FormHandle<FormShape, ErrorShape, {}, {}>;
126
+ };
127
+ /**
128
+ * A React hook that provides access to form-level metadata and state.
129
+ * Requires `FormProvider` context when used in child components.
130
+ *
131
+ * See https://conform.guide/api/react/future/useFormMetadata
132
+ *
133
+ * **Example:**
134
+ * ```tsx
135
+ * function ErrorSummary() {
136
+ * const form = useFormMetadata();
137
+ *
138
+ * if (form.valid) return null;
139
+ *
140
+ * return (
141
+ * <div>Please fix {Object.keys(form.fieldErrors).length} errors</div>
142
+ * );
143
+ * }
144
+ * ```
145
+ */
146
+ export declare const useFormMetadata: (options?: {
147
+ formId?: string;
148
+ }) => Readonly<{
149
+ key: string;
150
+ id: string;
151
+ descriptionId: string;
152
+ errorId: string;
153
+ touched: boolean;
154
+ valid: boolean;
155
+ invalid: boolean;
156
+ errors: any;
157
+ fieldErrors: Record<string, any>;
158
+ defaultValue: Record<string, unknown>;
159
+ props: Readonly<{
160
+ id: string;
161
+ onSubmit: React.FormEventHandler<HTMLFormElement>;
162
+ onBlur: React.FocusEventHandler<HTMLFormElement>;
163
+ onInput: React.FormEventHandler<HTMLFormElement>;
164
+ noValidate: boolean;
165
+ }>;
166
+ context: FormContext<any>;
167
+ getField<FieldShape>(name: import("@conform-to/dom/future").FieldName<FieldShape>): Readonly<{
168
+ required?: boolean | undefined | undefined;
169
+ minLength?: number | undefined | undefined;
170
+ maxLength?: number | undefined | undefined;
171
+ min?: string | number | undefined | undefined;
172
+ max?: string | number | undefined | undefined;
173
+ step?: string | number | undefined | undefined;
174
+ multiple?: boolean | undefined | undefined;
175
+ pattern?: string | undefined | undefined;
176
+ accept?: string | undefined | undefined;
177
+ key: string | undefined;
178
+ name: import("@conform-to/dom/future").FieldName<FieldShape>;
179
+ id: string;
180
+ descriptionId: string;
181
+ errorId: string;
182
+ formId: string;
183
+ defaultValue: string;
184
+ defaultOptions: string[];
185
+ defaultChecked: boolean;
186
+ defaultPayload: unknown;
187
+ touched: boolean;
188
+ valid: boolean;
189
+ invalid: boolean;
190
+ errors: any;
191
+ fieldErrors: Record<string, any>;
192
+ ariaInvalid: boolean | undefined;
193
+ ariaDescribedBy: string | undefined;
194
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldShape> extends never ? unknown : FieldShape>() => import("./types").Fieldset<FieldsetShape, any, {}>;
195
+ getFieldList: <FieldItemShape = [FieldShape] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly<{
196
+ required?: boolean | undefined | undefined;
197
+ minLength?: number | undefined | undefined;
198
+ maxLength?: number | undefined | undefined;
199
+ min?: string | number | undefined | undefined;
200
+ max?: string | number | undefined | undefined;
201
+ step?: string | number | undefined | undefined;
202
+ multiple?: boolean | undefined | undefined;
203
+ pattern?: string | undefined | undefined;
204
+ accept?: string | undefined | undefined;
205
+ key: string | undefined;
206
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape>;
207
+ id: string;
208
+ descriptionId: string;
209
+ errorId: string;
210
+ formId: string;
211
+ defaultValue: string;
212
+ defaultOptions: string[];
213
+ defaultChecked: boolean;
214
+ defaultPayload: unknown;
215
+ touched: boolean;
216
+ valid: boolean;
217
+ invalid: boolean;
218
+ errors: any;
219
+ fieldErrors: Record<string, any>;
220
+ ariaInvalid: boolean | undefined;
221
+ ariaDescribedBy: string | undefined;
222
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape> extends never ? unknown : FieldItemShape>() => import("./types").Fieldset<FieldsetShape, any, {}>;
223
+ getFieldList: <FieldItemShape_1 = [FieldItemShape] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly<{
224
+ required?: boolean | undefined | undefined;
225
+ minLength?: number | undefined | undefined;
226
+ maxLength?: number | undefined | undefined;
227
+ min?: string | number | undefined | undefined;
228
+ max?: string | number | undefined | undefined;
229
+ step?: string | number | undefined | undefined;
230
+ multiple?: boolean | undefined | undefined;
231
+ pattern?: string | undefined | undefined;
232
+ accept?: string | undefined | undefined;
233
+ key: string | undefined;
234
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_1>;
235
+ id: string;
236
+ descriptionId: string;
237
+ errorId: string;
238
+ formId: string;
239
+ defaultValue: string;
240
+ defaultOptions: string[];
241
+ defaultChecked: boolean;
242
+ defaultPayload: unknown;
243
+ touched: boolean;
244
+ valid: boolean;
245
+ invalid: boolean;
246
+ errors: any;
247
+ fieldErrors: Record<string, any>;
248
+ ariaInvalid: boolean | undefined;
249
+ ariaDescribedBy: string | undefined;
250
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_1> extends never ? unknown : FieldItemShape_1>() => import("./types").Fieldset<FieldsetShape, any, {}>;
251
+ getFieldList: <FieldItemShape_2 = [FieldItemShape_1] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly<{
252
+ required?: boolean | undefined | undefined;
253
+ minLength?: number | undefined | undefined;
254
+ maxLength?: number | undefined | undefined;
255
+ min?: string | number | undefined | undefined;
256
+ max?: string | number | undefined | undefined;
257
+ step?: string | number | undefined | undefined;
258
+ multiple?: boolean | undefined | undefined;
259
+ pattern?: string | undefined | undefined;
260
+ accept?: string | undefined | undefined;
261
+ key: string | undefined;
262
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_2>;
263
+ id: string;
264
+ descriptionId: string;
265
+ errorId: string;
266
+ formId: string;
267
+ defaultValue: string;
268
+ defaultOptions: string[];
269
+ defaultChecked: boolean;
270
+ defaultPayload: unknown;
271
+ touched: boolean;
272
+ valid: boolean;
273
+ invalid: boolean;
274
+ errors: any;
275
+ fieldErrors: Record<string, any>;
276
+ ariaInvalid: boolean | undefined;
277
+ ariaDescribedBy: string | undefined;
278
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_2> extends never ? unknown : FieldItemShape_2>() => import("./types").Fieldset<FieldsetShape, any, {}>;
279
+ getFieldList: <FieldItemShape_3 = [FieldItemShape_2] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly<{
280
+ required?: boolean | undefined | undefined;
281
+ minLength?: number | undefined | undefined;
282
+ maxLength?: number | undefined | undefined;
283
+ min?: string | number | undefined | undefined;
284
+ max?: string | number | undefined | undefined;
285
+ step?: string | number | undefined | undefined;
286
+ multiple?: boolean | undefined | undefined;
287
+ pattern?: string | undefined | undefined;
288
+ accept?: string | undefined | undefined;
289
+ key: string | undefined;
290
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_3>;
291
+ id: string;
292
+ descriptionId: string;
293
+ errorId: string;
294
+ formId: string;
295
+ defaultValue: string;
296
+ defaultOptions: string[];
297
+ defaultChecked: boolean;
298
+ defaultPayload: unknown;
299
+ touched: boolean;
300
+ valid: boolean;
301
+ invalid: boolean;
302
+ errors: any;
303
+ fieldErrors: Record<string, any>;
304
+ ariaInvalid: boolean | undefined;
305
+ ariaDescribedBy: string | undefined;
306
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_3> extends never ? unknown : FieldItemShape_3>() => import("./types").Fieldset<FieldsetShape, any, {}>;
307
+ getFieldList: <FieldItemShape_4 = [FieldItemShape_3] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly<{
308
+ required?: boolean | undefined | undefined;
309
+ minLength?: number | undefined | undefined;
310
+ maxLength?: number | undefined | undefined;
311
+ min?: string | number | undefined | undefined;
312
+ max?: string | number | undefined | undefined;
313
+ step?: string | number | undefined | undefined;
314
+ multiple?: boolean | undefined | undefined;
315
+ pattern?: string | undefined | undefined;
316
+ accept?: string | undefined | undefined;
317
+ key: string | undefined;
318
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_4>;
319
+ id: string;
320
+ descriptionId: string;
321
+ errorId: string;
322
+ formId: string;
323
+ defaultValue: string;
324
+ defaultOptions: string[];
325
+ defaultChecked: boolean;
326
+ defaultPayload: unknown;
327
+ touched: boolean;
328
+ valid: boolean;
329
+ invalid: boolean;
330
+ errors: any;
331
+ fieldErrors: Record<string, any>;
332
+ ariaInvalid: boolean | undefined;
333
+ ariaDescribedBy: string | undefined;
334
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_4> extends never ? unknown : FieldItemShape_4>() => import("./types").Fieldset<FieldsetShape, any, {}>;
335
+ getFieldList: <FieldItemShape_5 = [FieldItemShape_4] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly<{
336
+ required?: boolean | undefined | undefined;
337
+ minLength?: number | undefined | undefined;
338
+ maxLength?: number | undefined | undefined;
339
+ min?: string | number | undefined | undefined;
340
+ max?: string | number | undefined | undefined;
341
+ step?: string | number | undefined | undefined;
342
+ multiple?: boolean | undefined | undefined;
343
+ pattern?: string | undefined | undefined;
344
+ accept?: string | undefined | undefined;
345
+ key: string | undefined;
346
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_5>;
347
+ id: string;
348
+ descriptionId: string;
349
+ errorId: string;
350
+ formId: string;
351
+ defaultValue: string;
352
+ defaultOptions: string[];
353
+ defaultChecked: boolean;
354
+ defaultPayload: unknown;
355
+ touched: boolean;
356
+ valid: boolean;
357
+ invalid: boolean;
358
+ errors: any;
359
+ fieldErrors: Record<string, any>;
360
+ ariaInvalid: boolean | undefined;
361
+ ariaDescribedBy: string | undefined;
362
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_5> extends never ? unknown : FieldItemShape_5>() => import("./types").Fieldset<FieldsetShape, any, {}>;
363
+ getFieldList: <FieldItemShape_6 = [FieldItemShape_5] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly<{
364
+ required?: boolean | undefined | undefined;
365
+ minLength?: number | undefined | undefined;
366
+ maxLength?: number | undefined | undefined;
367
+ min?: string | number | undefined | undefined;
368
+ max?: string | number | undefined | undefined;
369
+ step?: string | number | undefined | undefined;
370
+ multiple?: boolean | undefined | undefined;
371
+ pattern?: string | undefined | undefined;
372
+ accept?: string | undefined | undefined;
373
+ key: string | undefined;
374
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_6>;
375
+ id: string;
376
+ descriptionId: string;
377
+ errorId: string;
378
+ formId: string;
379
+ defaultValue: string;
380
+ defaultOptions: string[];
381
+ defaultChecked: boolean;
382
+ defaultPayload: unknown;
383
+ touched: boolean;
384
+ valid: boolean;
385
+ invalid: boolean;
386
+ errors: any;
387
+ fieldErrors: Record<string, any>;
388
+ ariaInvalid: boolean | undefined;
389
+ ariaDescribedBy: string | undefined;
390
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_6> extends never ? unknown : FieldItemShape_6>() => import("./types").Fieldset<FieldsetShape, any, {}>;
391
+ getFieldList: <FieldItemShape_7 = [FieldItemShape_6] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly<{
392
+ required?: boolean | undefined | undefined;
393
+ minLength?: number | undefined | undefined;
394
+ maxLength?: number | undefined | undefined;
395
+ min?: string | number | undefined | undefined;
396
+ max?: string | number | undefined | undefined;
397
+ step?: string | number | undefined | undefined;
398
+ multiple?: boolean | undefined | undefined;
399
+ pattern?: string | undefined | undefined;
400
+ accept?: string | undefined | undefined;
401
+ key: string | undefined;
402
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_7>;
403
+ id: string;
404
+ descriptionId: string;
405
+ errorId: string;
406
+ formId: string;
407
+ defaultValue: string;
408
+ defaultOptions: string[];
409
+ defaultChecked: boolean;
410
+ defaultPayload: unknown;
411
+ touched: boolean;
412
+ valid: boolean;
413
+ invalid: boolean;
414
+ errors: any;
415
+ fieldErrors: Record<string, any>;
416
+ ariaInvalid: boolean | undefined;
417
+ ariaDescribedBy: string | undefined;
418
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_7> extends never ? unknown : FieldItemShape_7>() => import("./types").Fieldset<FieldsetShape, any, {}>;
419
+ getFieldList: <FieldItemShape_8 = [FieldItemShape_7] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly<{
420
+ required?: boolean | undefined | undefined;
421
+ minLength?: number | undefined | undefined;
422
+ maxLength?: number | undefined | undefined;
423
+ min?: string | number | undefined | undefined;
424
+ max?: string | number | undefined | undefined;
425
+ step?: string | number | undefined | undefined;
426
+ multiple?: boolean | undefined | undefined;
427
+ pattern?: string | undefined | undefined;
428
+ accept?: string | undefined | undefined;
429
+ key: string | undefined;
430
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_8>;
431
+ id: string;
432
+ descriptionId: string;
433
+ errorId: string;
434
+ formId: string;
435
+ defaultValue: string;
436
+ defaultOptions: string[];
437
+ defaultChecked: boolean;
438
+ defaultPayload: unknown;
439
+ touched: boolean;
440
+ valid: boolean;
441
+ invalid: boolean;
442
+ errors: any;
443
+ fieldErrors: Record<string, any>;
444
+ ariaInvalid: boolean | undefined;
445
+ ariaDescribedBy: string | undefined;
446
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_8> extends never ? unknown : FieldItemShape_8>() => import("./types").Fieldset<FieldsetShape, any, {}>;
447
+ getFieldList: <FieldItemShape_9 = [FieldItemShape_8] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly<{
448
+ required?: boolean | undefined | undefined;
449
+ minLength?: number | undefined | undefined;
450
+ maxLength?: number | undefined | undefined;
451
+ min?: string | number | undefined | undefined;
452
+ max?: string | number | undefined | undefined;
453
+ step?: string | number | undefined | undefined;
454
+ multiple?: boolean | undefined | undefined;
455
+ pattern?: string | undefined | undefined;
456
+ accept?: string | undefined | undefined;
457
+ key: string | undefined;
458
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_9>;
459
+ id: string;
460
+ descriptionId: string;
461
+ errorId: string;
462
+ formId: string;
463
+ defaultValue: string;
464
+ defaultOptions: string[];
465
+ defaultChecked: boolean;
466
+ defaultPayload: unknown;
467
+ touched: boolean;
468
+ valid: boolean;
469
+ invalid: boolean;
470
+ errors: any;
471
+ fieldErrors: Record<string, any>;
472
+ ariaInvalid: boolean | undefined;
473
+ ariaDescribedBy: string | undefined;
474
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_9> extends never ? unknown : FieldItemShape_9>() => import("./types").Fieldset<FieldsetShape, any, {}>;
475
+ getFieldList: <FieldItemShape_10 = [FieldItemShape_9] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly</*elided*/ any>[];
476
+ }>[];
477
+ }>[];
478
+ }>[];
479
+ }>[];
480
+ }>[];
481
+ }>[];
482
+ }>[];
483
+ }>[];
484
+ }>[];
485
+ }>[];
486
+ }>;
487
+ getFieldset<FieldShape>(name?: import("@conform-to/dom/future").FieldName<FieldShape> | undefined): import("./types").Fieldset<keyof NonNullable<FieldShape> extends never ? unknown : FieldShape, any, {}>;
488
+ getFieldList<FieldShape>(name: import("@conform-to/dom/future").FieldName<FieldShape>): Readonly<{
489
+ required?: boolean | undefined | undefined;
490
+ minLength?: number | undefined | undefined;
491
+ maxLength?: number | undefined | undefined;
492
+ min?: string | number | undefined | undefined;
493
+ max?: string | number | undefined | undefined;
494
+ step?: string | number | undefined | undefined;
495
+ multiple?: boolean | undefined | undefined;
496
+ pattern?: string | undefined | undefined;
497
+ accept?: string | undefined | undefined;
498
+ key: string | undefined;
499
+ name: import("@conform-to/dom/future").FieldName<[FieldShape] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>;
500
+ id: string;
501
+ descriptionId: string;
502
+ errorId: string;
503
+ formId: string;
504
+ defaultValue: string;
505
+ defaultOptions: string[];
506
+ defaultChecked: boolean;
507
+ defaultPayload: unknown;
508
+ touched: boolean;
509
+ valid: boolean;
510
+ invalid: boolean;
511
+ errors: any;
512
+ fieldErrors: Record<string, any>;
513
+ ariaInvalid: boolean | undefined;
514
+ ariaDescribedBy: string | undefined;
515
+ getFieldset: <FieldsetShape = keyof NonNullable<[FieldShape] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown> extends never ? unknown : [FieldShape] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => import("./types").Fieldset<FieldsetShape, any, {}>;
516
+ getFieldList: <FieldItemShape = [[FieldShape] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown] extends [(infer ItemShape_1)[] | null | undefined] ? ItemShape_1 : unknown>() => Readonly<{
517
+ required?: boolean | undefined | undefined;
518
+ minLength?: number | undefined | undefined;
519
+ maxLength?: number | undefined | undefined;
520
+ min?: string | number | undefined | undefined;
521
+ max?: string | number | undefined | undefined;
522
+ step?: string | number | undefined | undefined;
523
+ multiple?: boolean | undefined | undefined;
524
+ pattern?: string | undefined | undefined;
525
+ accept?: string | undefined | undefined;
526
+ key: string | undefined;
527
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape>;
528
+ id: string;
529
+ descriptionId: string;
530
+ errorId: string;
531
+ formId: string;
532
+ defaultValue: string;
533
+ defaultOptions: string[];
534
+ defaultChecked: boolean;
535
+ defaultPayload: unknown;
536
+ touched: boolean;
537
+ valid: boolean;
538
+ invalid: boolean;
539
+ errors: any;
540
+ fieldErrors: Record<string, any>;
541
+ ariaInvalid: boolean | undefined;
542
+ ariaDescribedBy: string | undefined;
543
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape> extends never ? unknown : FieldItemShape>() => import("./types").Fieldset<FieldsetShape, any, {}>;
544
+ getFieldList: <FieldItemShape_1 = [FieldItemShape] extends [(infer ItemShape_1)[] | null | undefined] ? ItemShape_1 : unknown>() => Readonly<{
545
+ required?: boolean | undefined | undefined;
546
+ minLength?: number | undefined | undefined;
547
+ maxLength?: number | undefined | undefined;
548
+ min?: string | number | undefined | undefined;
549
+ max?: string | number | undefined | undefined;
550
+ step?: string | number | undefined | undefined;
551
+ multiple?: boolean | undefined | undefined;
552
+ pattern?: string | undefined | undefined;
553
+ accept?: string | undefined | undefined;
554
+ key: string | undefined;
555
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_1>;
556
+ id: string;
557
+ descriptionId: string;
558
+ errorId: string;
559
+ formId: string;
560
+ defaultValue: string;
561
+ defaultOptions: string[];
562
+ defaultChecked: boolean;
563
+ defaultPayload: unknown;
564
+ touched: boolean;
565
+ valid: boolean;
566
+ invalid: boolean;
567
+ errors: any;
568
+ fieldErrors: Record<string, any>;
569
+ ariaInvalid: boolean | undefined;
570
+ ariaDescribedBy: string | undefined;
571
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_1> extends never ? unknown : FieldItemShape_1>() => import("./types").Fieldset<FieldsetShape, any, {}>;
572
+ getFieldList: <FieldItemShape_2 = [FieldItemShape_1] extends [(infer ItemShape_1)[] | null | undefined] ? ItemShape_1 : unknown>() => Readonly<{
573
+ required?: boolean | undefined | undefined;
574
+ minLength?: number | undefined | undefined;
575
+ maxLength?: number | undefined | undefined;
576
+ min?: string | number | undefined | undefined;
577
+ max?: string | number | undefined | undefined;
578
+ step?: string | number | undefined | undefined;
579
+ multiple?: boolean | undefined | undefined;
580
+ pattern?: string | undefined | undefined;
581
+ accept?: string | undefined | undefined;
582
+ key: string | undefined;
583
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_2>;
584
+ id: string;
585
+ descriptionId: string;
586
+ errorId: string;
587
+ formId: string;
588
+ defaultValue: string;
589
+ defaultOptions: string[];
590
+ defaultChecked: boolean;
591
+ defaultPayload: unknown;
592
+ touched: boolean;
593
+ valid: boolean;
594
+ invalid: boolean;
595
+ errors: any;
596
+ fieldErrors: Record<string, any>;
597
+ ariaInvalid: boolean | undefined;
598
+ ariaDescribedBy: string | undefined;
599
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_2> extends never ? unknown : FieldItemShape_2>() => import("./types").Fieldset<FieldsetShape, any, {}>;
600
+ getFieldList: <FieldItemShape_3 = [FieldItemShape_2] extends [(infer ItemShape_1)[] | null | undefined] ? ItemShape_1 : unknown>() => Readonly<{
601
+ required?: boolean | undefined | undefined;
602
+ minLength?: number | undefined | undefined;
603
+ maxLength?: number | undefined | undefined;
604
+ min?: string | number | undefined | undefined;
605
+ max?: string | number | undefined | undefined;
606
+ step?: string | number | undefined | undefined;
607
+ multiple?: boolean | undefined | undefined;
608
+ pattern?: string | undefined | undefined;
609
+ accept?: string | undefined | undefined;
610
+ key: string | undefined;
611
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_3>;
612
+ id: string;
613
+ descriptionId: string;
614
+ errorId: string;
615
+ formId: string;
616
+ defaultValue: string;
617
+ defaultOptions: string[];
618
+ defaultChecked: boolean;
619
+ defaultPayload: unknown;
620
+ touched: boolean;
621
+ valid: boolean;
622
+ invalid: boolean;
623
+ errors: any;
624
+ fieldErrors: Record<string, any>;
625
+ ariaInvalid: boolean | undefined;
626
+ ariaDescribedBy: string | undefined;
627
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_3> extends never ? unknown : FieldItemShape_3>() => import("./types").Fieldset<FieldsetShape, any, {}>;
628
+ getFieldList: <FieldItemShape_4 = [FieldItemShape_3] extends [(infer ItemShape_1)[] | null | undefined] ? ItemShape_1 : unknown>() => Readonly<{
629
+ required?: boolean | undefined | undefined;
630
+ minLength?: number | undefined | undefined;
631
+ maxLength?: number | undefined | undefined;
632
+ min?: string | number | undefined | undefined;
633
+ max?: string | number | undefined | undefined;
634
+ step?: string | number | undefined | undefined;
635
+ multiple?: boolean | undefined | undefined;
636
+ pattern?: string | undefined | undefined;
637
+ accept?: string | undefined | undefined;
638
+ key: string | undefined;
639
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_4>;
640
+ id: string;
641
+ descriptionId: string;
642
+ errorId: string;
643
+ formId: string;
644
+ defaultValue: string;
645
+ defaultOptions: string[];
646
+ defaultChecked: boolean;
647
+ defaultPayload: unknown;
648
+ touched: boolean;
649
+ valid: boolean;
650
+ invalid: boolean;
651
+ errors: any;
652
+ fieldErrors: Record<string, any>;
653
+ ariaInvalid: boolean | undefined;
654
+ ariaDescribedBy: string | undefined;
655
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_4> extends never ? unknown : FieldItemShape_4>() => import("./types").Fieldset<FieldsetShape, any, {}>;
656
+ getFieldList: <FieldItemShape_5 = [FieldItemShape_4] extends [(infer ItemShape_1)[] | null | undefined] ? ItemShape_1 : unknown>() => Readonly<{
657
+ required?: boolean | undefined | undefined;
658
+ minLength?: number | undefined | undefined;
659
+ maxLength?: number | undefined | undefined;
660
+ min?: string | number | undefined | undefined;
661
+ max?: string | number | undefined | undefined;
662
+ step?: string | number | undefined | undefined;
663
+ multiple?: boolean | undefined | undefined;
664
+ pattern?: string | undefined | undefined;
665
+ accept?: string | undefined | undefined;
666
+ key: string | undefined;
667
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_5>;
668
+ id: string;
669
+ descriptionId: string;
670
+ errorId: string;
671
+ formId: string;
672
+ defaultValue: string;
673
+ defaultOptions: string[];
674
+ defaultChecked: boolean;
675
+ defaultPayload: unknown;
676
+ touched: boolean;
677
+ valid: boolean;
678
+ invalid: boolean;
679
+ errors: any;
680
+ fieldErrors: Record<string, any>;
681
+ ariaInvalid: boolean | undefined;
682
+ ariaDescribedBy: string | undefined;
683
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_5> extends never ? unknown : FieldItemShape_5>() => import("./types").Fieldset<FieldsetShape, any, {}>;
684
+ getFieldList: <FieldItemShape_6 = [FieldItemShape_5] extends [(infer ItemShape_1)[] | null | undefined] ? ItemShape_1 : unknown>() => Readonly<{
685
+ required?: boolean | undefined | undefined;
686
+ minLength?: number | undefined | undefined;
687
+ maxLength?: number | undefined | undefined;
688
+ min?: string | number | undefined | undefined;
689
+ max?: string | number | undefined | undefined;
690
+ step?: string | number | undefined | undefined;
691
+ multiple?: boolean | undefined | undefined;
692
+ pattern?: string | undefined | undefined;
693
+ accept?: string | undefined | undefined;
694
+ key: string | undefined;
695
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_6>;
696
+ id: string;
697
+ descriptionId: string;
698
+ errorId: string;
699
+ formId: string;
700
+ defaultValue: string;
701
+ defaultOptions: string[];
702
+ defaultChecked: boolean;
703
+ defaultPayload: unknown;
704
+ touched: boolean;
705
+ valid: boolean;
706
+ invalid: boolean;
707
+ errors: any;
708
+ fieldErrors: Record<string, any>;
709
+ ariaInvalid: boolean | undefined;
710
+ ariaDescribedBy: string | undefined;
711
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_6> extends never ? unknown : FieldItemShape_6>() => import("./types").Fieldset<FieldsetShape, any, {}>;
712
+ getFieldList: <FieldItemShape_7 = [FieldItemShape_6] extends [(infer ItemShape_1)[] | null | undefined] ? ItemShape_1 : unknown>() => Readonly<{
713
+ required?: boolean | undefined | undefined;
714
+ minLength?: number | undefined | undefined;
715
+ maxLength?: number | undefined | undefined;
716
+ min?: string | number | undefined | undefined;
717
+ max?: string | number | undefined | undefined;
718
+ step?: string | number | undefined | undefined;
719
+ multiple?: boolean | undefined | undefined;
720
+ pattern?: string | undefined | undefined;
721
+ accept?: string | undefined | undefined;
722
+ key: string | undefined;
723
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_7>;
724
+ id: string;
725
+ descriptionId: string;
726
+ errorId: string;
727
+ formId: string;
728
+ defaultValue: string;
729
+ defaultOptions: string[];
730
+ defaultChecked: boolean;
731
+ defaultPayload: unknown;
732
+ touched: boolean;
733
+ valid: boolean;
734
+ invalid: boolean;
735
+ errors: any;
736
+ fieldErrors: Record<string, any>;
737
+ ariaInvalid: boolean | undefined;
738
+ ariaDescribedBy: string | undefined;
739
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_7> extends never ? unknown : FieldItemShape_7>() => import("./types").Fieldset<FieldsetShape, any, {}>;
740
+ getFieldList: <FieldItemShape_8 = [FieldItemShape_7] extends [(infer ItemShape_1)[] | null | undefined] ? ItemShape_1 : unknown>() => Readonly<{
741
+ required?: boolean | undefined | undefined;
742
+ minLength?: number | undefined | undefined;
743
+ maxLength?: number | undefined | undefined;
744
+ min?: string | number | undefined | undefined;
745
+ max?: string | number | undefined | undefined;
746
+ step?: string | number | undefined | undefined;
747
+ multiple?: boolean | undefined | undefined;
748
+ pattern?: string | undefined | undefined;
749
+ accept?: string | undefined | undefined;
750
+ key: string | undefined;
751
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_8>;
752
+ id: string;
753
+ descriptionId: string;
754
+ errorId: string;
755
+ formId: string;
756
+ defaultValue: string;
757
+ defaultOptions: string[];
758
+ defaultChecked: boolean;
759
+ defaultPayload: unknown;
760
+ touched: boolean;
761
+ valid: boolean;
762
+ invalid: boolean;
763
+ errors: any;
764
+ fieldErrors: Record<string, any>;
765
+ ariaInvalid: boolean | undefined;
766
+ ariaDescribedBy: string | undefined;
767
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_8> extends never ? unknown : FieldItemShape_8>() => import("./types").Fieldset<FieldsetShape, any, {}>;
768
+ getFieldList: <FieldItemShape_9 = [FieldItemShape_8] extends [(infer ItemShape_1)[] | null | undefined] ? ItemShape_1 : unknown>() => Readonly<{
769
+ required?: boolean | undefined | undefined;
770
+ minLength?: number | undefined | undefined;
771
+ maxLength?: number | undefined | undefined;
772
+ min?: string | number | undefined | undefined;
773
+ max?: string | number | undefined | undefined;
774
+ step?: string | number | undefined | undefined;
775
+ multiple?: boolean | undefined | undefined;
776
+ pattern?: string | undefined | undefined;
777
+ accept?: string | undefined | undefined;
778
+ key: string | undefined;
779
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_9>;
780
+ id: string;
781
+ descriptionId: string;
782
+ errorId: string;
783
+ formId: string;
784
+ defaultValue: string;
785
+ defaultOptions: string[];
786
+ defaultChecked: boolean;
787
+ defaultPayload: unknown;
788
+ touched: boolean;
789
+ valid: boolean;
790
+ invalid: boolean;
791
+ errors: any;
792
+ fieldErrors: Record<string, any>;
793
+ ariaInvalid: boolean | undefined;
794
+ ariaDescribedBy: string | undefined;
795
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_9> extends never ? unknown : FieldItemShape_9>() => import("./types").Fieldset<FieldsetShape, any, {}>;
796
+ getFieldList: <FieldItemShape_10 = [FieldItemShape_9] extends [(infer ItemShape_1)[] | null | undefined] ? ItemShape_1 : unknown>() => Readonly</*elided*/ any>[];
797
+ }>[];
798
+ }>[];
799
+ }>[];
800
+ }>[];
801
+ }>[];
802
+ }>[];
803
+ }>[];
804
+ }>[];
805
+ }>[];
806
+ }>[];
807
+ }>[];
808
+ }>;
809
+ /**
810
+ * A React hook that provides access to a specific field's metadata and state.
811
+ * Requires `FormProvider` context when used in child components.
812
+ *
813
+ * See https://conform.guide/api/react/future/useField
814
+ *
815
+ * **Example:**
816
+ * ```tsx
817
+ * function FormField({ name, label }) {
818
+ * const field = useField(name);
819
+ *
820
+ * return (
821
+ * <div>
822
+ * <label htmlFor={field.id}>{label}</label>
823
+ * <input id={field.id} name={field.name} defaultValue={field.defaultValue} />
824
+ * {field.errors && <div>{field.errors.join(', ')}</div>}
825
+ * </div>
826
+ * );
827
+ * }
828
+ * ```
829
+ */
830
+ export declare const useField: <FieldShape = any>(name: FieldName<FieldShape>, options?: {
831
+ formId?: string;
832
+ }) => Readonly<{
833
+ required?: boolean | undefined | undefined;
834
+ minLength?: number | undefined | undefined;
835
+ maxLength?: number | undefined | undefined;
836
+ min?: string | number | undefined | undefined;
837
+ max?: string | number | undefined | undefined;
838
+ step?: string | number | undefined | undefined;
839
+ multiple?: boolean | undefined | undefined;
840
+ pattern?: string | undefined | undefined;
841
+ accept?: string | undefined | undefined;
842
+ key: string | undefined;
843
+ name: import("@conform-to/dom/future").FieldName<FieldShape>;
844
+ id: string;
845
+ descriptionId: string;
846
+ errorId: string;
847
+ formId: string;
848
+ defaultValue: string;
849
+ defaultOptions: string[];
850
+ defaultChecked: boolean;
851
+ defaultPayload: unknown;
852
+ touched: boolean;
853
+ valid: boolean;
854
+ invalid: boolean;
855
+ errors: any;
856
+ fieldErrors: Record<string, any>;
857
+ ariaInvalid: boolean | undefined;
858
+ ariaDescribedBy: string | undefined;
859
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldShape> extends never ? unknown : FieldShape>() => import("./types").Fieldset<FieldsetShape, any, {}>;
860
+ getFieldList: <FieldItemShape = [FieldShape] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly<{
861
+ required?: boolean | undefined | undefined;
862
+ minLength?: number | undefined | undefined;
863
+ maxLength?: number | undefined | undefined;
864
+ min?: string | number | undefined | undefined;
865
+ max?: string | number | undefined | undefined;
866
+ step?: string | number | undefined | undefined;
867
+ multiple?: boolean | undefined | undefined;
868
+ pattern?: string | undefined | undefined;
869
+ accept?: string | undefined | undefined;
870
+ key: string | undefined;
871
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape>;
872
+ id: string;
873
+ descriptionId: string;
874
+ errorId: string;
875
+ formId: string;
876
+ defaultValue: string;
877
+ defaultOptions: string[];
878
+ defaultChecked: boolean;
879
+ defaultPayload: unknown;
880
+ touched: boolean;
881
+ valid: boolean;
882
+ invalid: boolean;
883
+ errors: any;
884
+ fieldErrors: Record<string, any>;
885
+ ariaInvalid: boolean | undefined;
886
+ ariaDescribedBy: string | undefined;
887
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape> extends never ? unknown : FieldItemShape>() => import("./types").Fieldset<FieldsetShape, any, {}>;
888
+ getFieldList: <FieldItemShape_1 = [FieldItemShape] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly<{
889
+ required?: boolean | undefined | undefined;
890
+ minLength?: number | undefined | undefined;
891
+ maxLength?: number | undefined | undefined;
892
+ min?: string | number | undefined | undefined;
893
+ max?: string | number | undefined | undefined;
894
+ step?: string | number | undefined | undefined;
895
+ multiple?: boolean | undefined | undefined;
896
+ pattern?: string | undefined | undefined;
897
+ accept?: string | undefined | undefined;
898
+ key: string | undefined;
899
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_1>;
900
+ id: string;
901
+ descriptionId: string;
902
+ errorId: string;
903
+ formId: string;
904
+ defaultValue: string;
905
+ defaultOptions: string[];
906
+ defaultChecked: boolean;
907
+ defaultPayload: unknown;
908
+ touched: boolean;
909
+ valid: boolean;
910
+ invalid: boolean;
911
+ errors: any;
912
+ fieldErrors: Record<string, any>;
913
+ ariaInvalid: boolean | undefined;
914
+ ariaDescribedBy: string | undefined;
915
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_1> extends never ? unknown : FieldItemShape_1>() => import("./types").Fieldset<FieldsetShape, any, {}>;
916
+ getFieldList: <FieldItemShape_2 = [FieldItemShape_1] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly<{
917
+ required?: boolean | undefined | undefined;
918
+ minLength?: number | undefined | undefined;
919
+ maxLength?: number | undefined | undefined;
920
+ min?: string | number | undefined | undefined;
921
+ max?: string | number | undefined | undefined;
922
+ step?: string | number | undefined | undefined;
923
+ multiple?: boolean | undefined | undefined;
924
+ pattern?: string | undefined | undefined;
925
+ accept?: string | undefined | undefined;
926
+ key: string | undefined;
927
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_2>;
928
+ id: string;
929
+ descriptionId: string;
930
+ errorId: string;
931
+ formId: string;
932
+ defaultValue: string;
933
+ defaultOptions: string[];
934
+ defaultChecked: boolean;
935
+ defaultPayload: unknown;
936
+ touched: boolean;
937
+ valid: boolean;
938
+ invalid: boolean;
939
+ errors: any;
940
+ fieldErrors: Record<string, any>;
941
+ ariaInvalid: boolean | undefined;
942
+ ariaDescribedBy: string | undefined;
943
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_2> extends never ? unknown : FieldItemShape_2>() => import("./types").Fieldset<FieldsetShape, any, {}>;
944
+ getFieldList: <FieldItemShape_3 = [FieldItemShape_2] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly<{
945
+ required?: boolean | undefined | undefined;
946
+ minLength?: number | undefined | undefined;
947
+ maxLength?: number | undefined | undefined;
948
+ min?: string | number | undefined | undefined;
949
+ max?: string | number | undefined | undefined;
950
+ step?: string | number | undefined | undefined;
951
+ multiple?: boolean | undefined | undefined;
952
+ pattern?: string | undefined | undefined;
953
+ accept?: string | undefined | undefined;
954
+ key: string | undefined;
955
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_3>;
956
+ id: string;
957
+ descriptionId: string;
958
+ errorId: string;
959
+ formId: string;
960
+ defaultValue: string;
961
+ defaultOptions: string[];
962
+ defaultChecked: boolean;
963
+ defaultPayload: unknown;
964
+ touched: boolean;
965
+ valid: boolean;
966
+ invalid: boolean;
967
+ errors: any;
968
+ fieldErrors: Record<string, any>;
969
+ ariaInvalid: boolean | undefined;
970
+ ariaDescribedBy: string | undefined;
971
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_3> extends never ? unknown : FieldItemShape_3>() => import("./types").Fieldset<FieldsetShape, any, {}>;
972
+ getFieldList: <FieldItemShape_4 = [FieldItemShape_3] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly<{
973
+ required?: boolean | undefined | undefined;
974
+ minLength?: number | undefined | undefined;
975
+ maxLength?: number | undefined | undefined;
976
+ min?: string | number | undefined | undefined;
977
+ max?: string | number | undefined | undefined;
978
+ step?: string | number | undefined | undefined;
979
+ multiple?: boolean | undefined | undefined;
980
+ pattern?: string | undefined | undefined;
981
+ accept?: string | undefined | undefined;
982
+ key: string | undefined;
983
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_4>;
984
+ id: string;
985
+ descriptionId: string;
986
+ errorId: string;
987
+ formId: string;
988
+ defaultValue: string;
989
+ defaultOptions: string[];
990
+ defaultChecked: boolean;
991
+ defaultPayload: unknown;
992
+ touched: boolean;
993
+ valid: boolean;
994
+ invalid: boolean;
995
+ errors: any;
996
+ fieldErrors: Record<string, any>;
997
+ ariaInvalid: boolean | undefined;
998
+ ariaDescribedBy: string | undefined;
999
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_4> extends never ? unknown : FieldItemShape_4>() => import("./types").Fieldset<FieldsetShape, any, {}>;
1000
+ getFieldList: <FieldItemShape_5 = [FieldItemShape_4] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly<{
1001
+ required?: boolean | undefined | undefined;
1002
+ minLength?: number | undefined | undefined;
1003
+ maxLength?: number | undefined | undefined;
1004
+ min?: string | number | undefined | undefined;
1005
+ max?: string | number | undefined | undefined;
1006
+ step?: string | number | undefined | undefined;
1007
+ multiple?: boolean | undefined | undefined;
1008
+ pattern?: string | undefined | undefined;
1009
+ accept?: string | undefined | undefined;
1010
+ key: string | undefined;
1011
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_5>;
1012
+ id: string;
1013
+ descriptionId: string;
1014
+ errorId: string;
1015
+ formId: string;
1016
+ defaultValue: string;
1017
+ defaultOptions: string[];
1018
+ defaultChecked: boolean;
1019
+ defaultPayload: unknown;
1020
+ touched: boolean;
1021
+ valid: boolean;
1022
+ invalid: boolean;
1023
+ errors: any;
1024
+ fieldErrors: Record<string, any>;
1025
+ ariaInvalid: boolean | undefined;
1026
+ ariaDescribedBy: string | undefined;
1027
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_5> extends never ? unknown : FieldItemShape_5>() => import("./types").Fieldset<FieldsetShape, any, {}>;
1028
+ getFieldList: <FieldItemShape_6 = [FieldItemShape_5] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly<{
1029
+ required?: boolean | undefined | undefined;
1030
+ minLength?: number | undefined | undefined;
1031
+ maxLength?: number | undefined | undefined;
1032
+ min?: string | number | undefined | undefined;
1033
+ max?: string | number | undefined | undefined;
1034
+ step?: string | number | undefined | undefined;
1035
+ multiple?: boolean | undefined | undefined;
1036
+ pattern?: string | undefined | undefined;
1037
+ accept?: string | undefined | undefined;
1038
+ key: string | undefined;
1039
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_6>;
1040
+ id: string;
1041
+ descriptionId: string;
1042
+ errorId: string;
1043
+ formId: string;
1044
+ defaultValue: string;
1045
+ defaultOptions: string[];
1046
+ defaultChecked: boolean;
1047
+ defaultPayload: unknown;
1048
+ touched: boolean;
1049
+ valid: boolean;
1050
+ invalid: boolean;
1051
+ errors: any;
1052
+ fieldErrors: Record<string, any>;
1053
+ ariaInvalid: boolean | undefined;
1054
+ ariaDescribedBy: string | undefined;
1055
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_6> extends never ? unknown : FieldItemShape_6>() => import("./types").Fieldset<FieldsetShape, any, {}>;
1056
+ getFieldList: <FieldItemShape_7 = [FieldItemShape_6] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly<{
1057
+ required?: boolean | undefined | undefined;
1058
+ minLength?: number | undefined | undefined;
1059
+ maxLength?: number | undefined | undefined;
1060
+ min?: string | number | undefined | undefined;
1061
+ max?: string | number | undefined | undefined;
1062
+ step?: string | number | undefined | undefined;
1063
+ multiple?: boolean | undefined | undefined;
1064
+ pattern?: string | undefined | undefined;
1065
+ accept?: string | undefined | undefined;
1066
+ key: string | undefined;
1067
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_7>;
1068
+ id: string;
1069
+ descriptionId: string;
1070
+ errorId: string;
1071
+ formId: string;
1072
+ defaultValue: string;
1073
+ defaultOptions: string[];
1074
+ defaultChecked: boolean;
1075
+ defaultPayload: unknown;
1076
+ touched: boolean;
1077
+ valid: boolean;
1078
+ invalid: boolean;
1079
+ errors: any;
1080
+ fieldErrors: Record<string, any>;
1081
+ ariaInvalid: boolean | undefined;
1082
+ ariaDescribedBy: string | undefined;
1083
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_7> extends never ? unknown : FieldItemShape_7>() => import("./types").Fieldset<FieldsetShape, any, {}>;
1084
+ getFieldList: <FieldItemShape_8 = [FieldItemShape_7] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly<{
1085
+ required?: boolean | undefined | undefined;
1086
+ minLength?: number | undefined | undefined;
1087
+ maxLength?: number | undefined | undefined;
1088
+ min?: string | number | undefined | undefined;
1089
+ max?: string | number | undefined | undefined;
1090
+ step?: string | number | undefined | undefined;
1091
+ multiple?: boolean | undefined | undefined;
1092
+ pattern?: string | undefined | undefined;
1093
+ accept?: string | undefined | undefined;
1094
+ key: string | undefined;
1095
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_8>;
1096
+ id: string;
1097
+ descriptionId: string;
1098
+ errorId: string;
1099
+ formId: string;
1100
+ defaultValue: string;
1101
+ defaultOptions: string[];
1102
+ defaultChecked: boolean;
1103
+ defaultPayload: unknown;
1104
+ touched: boolean;
1105
+ valid: boolean;
1106
+ invalid: boolean;
1107
+ errors: any;
1108
+ fieldErrors: Record<string, any>;
1109
+ ariaInvalid: boolean | undefined;
1110
+ ariaDescribedBy: string | undefined;
1111
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_8> extends never ? unknown : FieldItemShape_8>() => import("./types").Fieldset<FieldsetShape, any, {}>;
1112
+ getFieldList: <FieldItemShape_9 = [FieldItemShape_8] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly<{
1113
+ required?: boolean | undefined | undefined;
1114
+ minLength?: number | undefined | undefined;
1115
+ maxLength?: number | undefined | undefined;
1116
+ min?: string | number | undefined | undefined;
1117
+ max?: string | number | undefined | undefined;
1118
+ step?: string | number | undefined | undefined;
1119
+ multiple?: boolean | undefined | undefined;
1120
+ pattern?: string | undefined | undefined;
1121
+ accept?: string | undefined | undefined;
1122
+ key: string | undefined;
1123
+ name: import("@conform-to/dom/future").FieldName<FieldItemShape_9>;
1124
+ id: string;
1125
+ descriptionId: string;
1126
+ errorId: string;
1127
+ formId: string;
1128
+ defaultValue: string;
1129
+ defaultOptions: string[];
1130
+ defaultChecked: boolean;
1131
+ defaultPayload: unknown;
1132
+ touched: boolean;
1133
+ valid: boolean;
1134
+ invalid: boolean;
1135
+ errors: any;
1136
+ fieldErrors: Record<string, any>;
1137
+ ariaInvalid: boolean | undefined;
1138
+ ariaDescribedBy: string | undefined;
1139
+ getFieldset: <FieldsetShape = keyof NonNullable<FieldItemShape_9> extends never ? unknown : FieldItemShape_9>() => import("./types").Fieldset<FieldsetShape, any, {}>;
1140
+ getFieldList: <FieldItemShape_10 = [FieldItemShape_9] extends [(infer ItemShape)[] | null | undefined] ? ItemShape : unknown>() => Readonly</*elided*/ any>[];
1141
+ }>[];
1142
+ }>[];
1143
+ }>[];
1144
+ }>[];
1145
+ }>[];
1146
+ }>[];
1147
+ }>[];
1148
+ }>[];
1149
+ }>[];
1150
+ }>[];
1151
+ }>;
1152
+ /**
1153
+ * A React hook that provides an intent dispatcher for programmatic form actions.
1154
+ * Intent dispatchers allow you to trigger form operations like validation, field updates,
1155
+ * and array manipulations without manual form submission.
1156
+ *
1157
+ * See https://conform.guide/api/react/future/useIntent
1158
+ *
1159
+ * **Example:**
1160
+ * ```tsx
1161
+ * function ResetButton() {
1162
+ * const buttonRef = useRef<HTMLButtonElement>(null);
1163
+ * const intent = useIntent(buttonRef);
1164
+ *
1165
+ * return (
1166
+ * <button type="button" ref={buttonRef} onClick={() => intent.reset()}>
1167
+ * Reset Form
1168
+ * </button>
1169
+ * );
1170
+ * }
1171
+ * ```
1172
+ */
1173
+ export declare const useIntent: <FormShape extends Record<string, any>>(formRef: FormRef) => IntentDispatcher<FormShape>;
43
1174
  //# sourceMappingURL=forms.d.ts.map