UNPKG

@mantine/form

Version:

Mantine form management library

23 lines (22 loc) 1.29 kB
import { LooseKeys } from '../../paths.types'; import { FormFieldSubscriber, Watch } from '../../types'; import { $FormStatus } from '../use-form-status/use-form-status'; import { $FormValues, SetValuesSubscriberPayload } from '../use-form-values/use-form-values'; interface UseFormWatchInput<out Values extends Record<PropertyKey, any>> { $values: $FormValues<Values>; $status: $FormStatus<Values>; cascadeUpdates?: boolean; } export interface $FormWatch<Values extends Record<PropertyKey, any>> { subscribers: React.RefObject<Record<string, FormFieldSubscriber<Values, any>[]>>; watch: Watch<Values, any>; getFieldSubscribers: (path: any) => ((input: SetValuesSubscriberPayload<Values>) => void)[]; notifyWatchSubscribers: (previousValues: Values) => void; } export declare function useFormWatch<Values extends Record<PropertyKey, any>, Field extends LooseKeys<Values> = LooseKeys<Values>>({ $values, $status, cascadeUpdates }: UseFormWatchInput<Values>): { subscribers: import("react").RefObject<Record<Field, FormFieldSubscriber<Values, Field>[]>>; watch: Watch<Values, Field>; getFieldSubscribers: (path: Field) => ((input: SetValuesSubscriberPayload<Values>) => void)[]; notifyWatchSubscribers: (previousValues: Values) => void; }; export {};