import { NestedKeyOf } from '../../../utils/utilityTypes'; import { FormInstance } from '../type'; declare const useFormValueState: = Record>(form: FormInstance, name: FormValues extends Record ? (FormValues extends infer T ? { [K in keyof T]-?: K extends string | number ? `${K}` | (K extends infer T_1 ? T_1 extends K ? T_1 extends string | number ? (FormValues[K] extends infer T_2 ? T_2 extends FormValues[K] ? T_2 extends Record ? (T_2 extends infer T_3 ? { [K_1 in keyof T_3]-?: K_1 extends string | number ? `${K_1}` | (K_1 extends infer T_4 ? T_4 extends K_1 ? T_4 extends string | number ? (T_2[K_1] extends infer T_5 ? T_5 extends T_2[K_1] ? T_5 extends Record ? (T_5 extends infer T_6 ? { [K_2 in keyof T_6]-?: K_2 extends string | number ? `${K_2}` | (K_2 extends infer T_7 ? T_7 extends K_2 ? T_7 extends string | number ? (T_5[K_2] extends infer T_8 ? T_8 extends T_5[K_2] ? T_8 extends Record ? (T_8 extends infer T_9 ? { [K_3 in keyof T_9]-?: K_3 extends string | number ? `${K_3}` | (K_3 extends infer T_10 ? T_10 extends K_3 ? T_10 extends string | number ? (T_8[K_3] extends infer T_11 ? T_11 extends T_8[K_3] ? T_11 extends Record ? (T_11 extends infer T_12 ? { [K_4 in keyof T_12]-?: K_4 extends string | number ? `${K_4}` | (K_4 extends infer T_13 ? T_13 extends K_4 ? T_13 extends string | number ? never : never : never : never) : never; } : never)[keyof T_11] : "" : never : never) extends infer T_14 ? T_14 extends (T_8[K_3] extends infer T_11 ? T_11 extends T_8[K_3] ? T_11 extends Record ? (T_11 extends infer T_12 ? { [K_4 in keyof T_12]-?: K_4 extends string | number ? `${K_4}` | (K_4 extends infer T_13 ? T_13 extends K_4 ? T_13 extends string | number ? never : never : never : never) : never; } : never)[keyof T_11] : "" : never : never) ? T_14 extends string | number ? `${T_10}${"" extends T_14 ? T_14 & "" : "."}${T_14}` : never : never : never : never : never : never) : never; } : never)[keyof T_8] : "" : never : never) extends infer T_15 ? T_15 extends (T_5[K_2] extends infer T_8 ? T_8 extends T_5[K_2] ? T_8 extends Record ? (T_8 extends infer T_9 ? { [K_3 in keyof T_9]-?: K_3 extends string | number ? `${K_3}` | (K_3 extends infer T_10 ? T_10 extends K_3 ? T_10 extends string | number ? (T_8[K_3] extends infer T_11 ? T_11 extends T_8[K_3] ? T_11 extends Record ? (T_11 extends infer T_12 ? { [K_4 in keyof T_12]-?: K_4 extends string | number ? `${K_4}` | (K_4 extends infer T_13 ? T_13 extends K_4 ? T_13 extends string | number ? never : never : never : never) : never; } : never)[keyof T_11] : "" : never : never) extends infer T_14 ? T_14 extends (T_8[K_3] extends infer T_11 ? T_11 extends T_8[K_3] ? T_11 extends Record ? (T_11 extends infer T_12 ? { [K_4 in keyof T_12]-?: K_4 extends string | number ? `${K_4}` | (K_4 extends infer T_13 ? T_13 extends K_4 ? T_13 extends string | number ? never : never : never : never) : never; } : never)[keyof T_11] : "" : never : never) ? T_14 extends string | number ? `${T_10}${"" extends T_14 ? T_14 & "" : "."}${T_14}` : never : never : never : never : never : never) : never; } : never)[keyof T_8] : "" : never : never) ? T_15 extends string | number ? `${T_7}${"" extends T_15 ? T_15 & "" : "."}${T_15}` : never : never : never : never : never : never) : never; } : never)[keyof T_5] : "" : never : never) extends infer T_16 ? T_16 extends (T_2[K_1] extends infer T_5 ? T_5 extends T_2[K_1] ? T_5 extends Record ? (T_5 extends infer T_6 ? { [K_2 in keyof T_6]-?: K_2 extends string | number ? `${K_2}` | (K_2 extends infer T_7 ? T_7 extends K_2 ? T_7 extends string | number ? (T_5[K_2] extends infer T_8 ? T_8 extends T_5[K_2] ? T_8 extends Record ? (T_8 extends infer T_9 ? { [K_3 in keyof T_9]-?: K_3 extends string | number ? `${K_3}` | (K_3 extends infer T_10 ? T_10 extends K_3 ? T_10 extends string | number ? (T_8[K_3] extends infer T_11 ? T_11 extends T_8[K_3] ? T_11 extends Record ? (T_11 extends infer T_12 ? { [K_4 in keyof T_12]-?: K_4 extends string | number ? `${K_4}` | (K_4 extends infer T_13 ? T_13 extends K_4 ? T_13 extends string | number ? never : never : never : never) : never; } : never)[keyof T_11] : "" : never : never) extends infer T_14 ? T_14 extends (T_8[K_3] extends infer T_11 ? T_11 extends T_8[K_3] ? T_11 extends Record ? (T_11 extends infer T_12 ? { [K_4 in keyof T_12]-?: K_4 extends string | number ? `${K_4}` | (K_4 extends infer T_13 ? T_13 extends K_4 ? T_13 extends string | number ? never : never : never : never) : never; } : never)[keyof T_11] : "" : never : never) ? T_14 extends string | number ? `${T_10}${"" extends T_14 ? T_14 & "" : "."}${T_14}` : never : never : never : never : never : never) : never; } : never)[keyof T_8] : "" : never : never) extends infer T_15 ? T_15 extends (T_5[K_2] extends infer T_8 ? T_8 extends T_5[K_2] ? T_8 extends Record ? (T_8 extends infer T_9 ? { [K_3 in keyof T_9]-?: K_3 extends string | number ? `${K_3}` | (K_3 extends infer T_10 ? T_10 extends K_3 ? T_10 extends string | number ? (T_8[K_3] extends infer T_11 ? T_11 extends T_8[K_3] ? T_11 extends Record ? (T_11 extends infer T_12 ? { [K_4 in keyof T_12]-?: K_4 extends string | number ? `${K_4}` | (K_4 extends infer T_13 ? T_13 extends K_4 ? T_13 extends string | number ? never : never : never : never) : never; } : never)[keyof T_11] : "" : never : never) extends infer T_14 ? T_14 extends (T_8[K_3] extends infer T_11 ? T_11 extends T_8[K_3] ? T_11 extends Record ? (T_11 extends infer T_12 ? { [K_4 in keyof T_12]-?: K_4 extends string | number ? `${K_4}` | (K_4 extends infer T_13 ? T_13 extends K_4 ? T_13 extends string | number ? never : never : never : never) : never; } : never)[keyof T_11] : "" : never : never) ? T_14 extends string | number ? `${T_10}${"" extends T_14 ? T_14 & "" : "."}${T_14}` : never : never : never : never : never : never) : never; } : never)[keyof T_8] : "" : never : never) ? T_15 extends string | number ? `${T_7}${"" extends T_15 ? T_15 & "" : "."}${T_15}` : never : never : never : never : never : never) : never; } : never)[keyof T_5] : "" : never : never) ? T_16 extends string | number ? `${T_4}${"" extends T_16 ? T_16 & "" : "."}${T_16}` : never : never : never : never : never : never) : never; } : never)[keyof T_2] : "" : never : never) extends infer T_17 ? T_17 extends (FormValues[K] extends infer T_2 ? T_2 extends FormValues[K] ? T_2 extends Record ? (T_2 extends infer T_3 ? { [K_1 in keyof T_3]-?: K_1 extends string | number ? `${K_1}` | (K_1 extends infer T_4 ? T_4 extends K_1 ? T_4 extends string | number ? (T_2[K_1] extends infer T_5 ? T_5 extends T_2[K_1] ? T_5 extends Record ? (T_5 extends infer T_6 ? { [K_2 in keyof T_6]-?: K_2 extends string | number ? `${K_2}` | (K_2 extends infer T_7 ? T_7 extends K_2 ? T_7 extends string | number ? (T_5[K_2] extends infer T_8 ? T_8 extends T_5[K_2] ? T_8 extends Record ? (T_8 extends infer T_9 ? { [K_3 in keyof T_9]-?: K_3 extends string | number ? `${K_3}` | (K_3 extends infer T_10 ? T_10 extends K_3 ? T_10 extends string | number ? (T_8[K_3] extends infer T_11 ? T_11 extends T_8[K_3] ? T_11 extends Record ? (T_11 extends infer T_12 ? { [K_4 in keyof T_12]-?: K_4 extends string | number ? `${K_4}` | (K_4 extends infer T_13 ? T_13 extends K_4 ? T_13 extends string | number ? never : never : never : never) : never; } : never)[keyof T_11] : "" : never : never) extends infer T_14 ? T_14 extends (T_8[K_3] extends infer T_11 ? T_11 extends T_8[K_3] ? T_11 extends Record ? (T_11 extends infer T_12 ? { [K_4 in keyof T_12]-?: K_4 extends string | number ? `${K_4}` | (K_4 extends infer T_13 ? T_13 extends K_4 ? T_13 extends string | number ? never : never : never : never) : never; } : never)[keyof T_11] : "" : never : never) ? T_14 extends string | number ? `${T_10}${"" extends T_14 ? T_14 & "" : "."}${T_14}` : never : never : never : never : never : never) : never; } : never)[keyof T_8] : "" : never : never) extends infer T_15 ? T_15 extends (T_5[K_2] extends infer T_8 ? T_8 extends T_5[K_2] ? T_8 extends Record ? (T_8 extends infer T_9 ? { [K_3 in keyof T_9]-?: K_3 extends string | number ? `${K_3}` | (K_3 extends infer T_10 ? T_10 extends K_3 ? T_10 extends string | number ? (T_8[K_3] extends infer T_11 ? T_11 extends T_8[K_3] ? T_11 extends Record ? (T_11 extends infer T_12 ? { [K_4 in keyof T_12]-?: K_4 extends string | number ? `${K_4}` | (K_4 extends infer T_13 ? T_13 extends K_4 ? T_13 extends string | number ? never : never : never : never) : never; } : never)[keyof T_11] : "" : never : never) extends infer T_14 ? T_14 extends (T_8[K_3] extends infer T_11 ? T_11 extends T_8[K_3] ? T_11 extends Record ? (T_11 extends infer T_12 ? { [K_4 in keyof T_12]-?: K_4 extends string | number ? `${K_4}` | (K_4 extends infer T_13 ? T_13 extends K_4 ? T_13 extends string | number ? never : never : never : never) : never; } : never)[keyof T_11] : "" : never : never) ? T_14 extends string | number ? `${T_10}${"" extends T_14 ? T_14 & "" : "."}${T_14}` : never : never : never : never : never : never) : never; } : never)[keyof T_8] : "" : never : never) ? T_15 extends string | number ? `${T_7}${"" extends T_15 ? T_15 & "" : "."}${T_15}` : never : never : never : never : never : never) : never; } : never)[keyof T_5] : "" : never : never) extends infer T_16 ? T_16 extends (T_2[K_1] extends infer T_5 ? T_5 extends T_2[K_1] ? T_5 extends Record ? (T_5 extends infer T_6 ? { [K_2 in keyof T_6]-?: K_2 extends string | number ? `${K_2}` | (K_2 extends infer T_7 ? T_7 extends K_2 ? T_7 extends string | number ? (T_5[K_2] extends infer T_8 ? T_8 extends T_5[K_2] ? T_8 extends Record ? (T_8 extends infer T_9 ? { [K_3 in keyof T_9]-?: K_3 extends string | number ? `${K_3}` | (K_3 extends infer T_10 ? T_10 extends K_3 ? T_10 extends string | number ? (T_8[K_3] extends infer T_11 ? T_11 extends T_8[K_3] ? T_11 extends Record ? (T_11 extends infer T_12 ? { [K_4 in keyof T_12]-?: K_4 extends string | number ? `${K_4}` | (K_4 extends infer T_13 ? T_13 extends K_4 ? T_13 extends string | number ? never : never : never : never) : never; } : never)[keyof T_11] : "" : never : never) extends infer T_14 ? T_14 extends (T_8[K_3] extends infer T_11 ? T_11 extends T_8[K_3] ? T_11 extends Record ? (T_11 extends infer T_12 ? { [K_4 in keyof T_12]-?: K_4 extends string | number ? `${K_4}` | (K_4 extends infer T_13 ? T_13 extends K_4 ? T_13 extends string | number ? never : never : never : never) : never; } : never)[keyof T_11] : "" : never : never) ? T_14 extends string | number ? `${T_10}${"" extends T_14 ? T_14 & "" : "."}${T_14}` : never : never : never : never : never : never) : never; } : never)[keyof T_8] : "" : never : never) extends infer T_15 ? T_15 extends (T_5[K_2] extends infer T_8 ? T_8 extends T_5[K_2] ? T_8 extends Record ? (T_8 extends infer T_9 ? { [K_3 in keyof T_9]-?: K_3 extends string | number ? `${K_3}` | (K_3 extends infer T_10 ? T_10 extends K_3 ? T_10 extends string | number ? (T_8[K_3] extends infer T_11 ? T_11 extends T_8[K_3] ? T_11 extends Record ? (T_11 extends infer T_12 ? { [K_4 in keyof T_12]-?: K_4 extends string | number ? `${K_4}` | (K_4 extends infer T_13 ? T_13 extends K_4 ? T_13 extends string | number ? never : never : never : never) : never; } : never)[keyof T_11] : "" : never : never) extends infer T_14 ? T_14 extends (T_8[K_3] extends infer T_11 ? T_11 extends T_8[K_3] ? T_11 extends Record ? (T_11 extends infer T_12 ? { [K_4 in keyof T_12]-?: K_4 extends string | number ? `${K_4}` | (K_4 extends infer T_13 ? T_13 extends K_4 ? T_13 extends string | number ? never : never : never : never) : never; } : never)[keyof T_11] : "" : never : never) ? T_14 extends string | number ? `${T_10}${"" extends T_14 ? T_14 & "" : "."}${T_14}` : never : never : never : never : never : never) : never; } : never)[keyof T_8] : "" : never : never) ? T_15 extends string | number ? `${T_7}${"" extends T_15 ? T_15 & "" : "."}${T_15}` : never : never : never : never : never : never) : never; } : never)[keyof T_5] : "" : never : never) ? T_16 extends string | number ? `${T_4}${"" extends T_16 ? T_16 & "" : "."}${T_16}` : never : never : never : never : never : never) : never; } : never)[keyof T_2] : "" : never : never) ? T_17 extends string | number ? `${T_1}${"" extends T_17 ? T_17 & "" : "."}${T_17}` : never : never : never : never : never : never) : never; } : never)[keyof FormValues] : "") => [Value, (value: Value) => void]; export default useFormValueState;