import type { OcNamePath, OcStore, OcFormInstance } from './OcForm.types'; declare type ReturnPromise = T extends Promise ? ValueType : never; declare type GetGeneric = ReturnPromise>; export declare function stringify(value: any): string | number; declare function useWatch, TForm extends OcFormInstance, TDependencies2 extends keyof GetGeneric[TDependencies1], TDependencies3 extends keyof GetGeneric[TDependencies1][TDependencies2], TDependencies4 extends keyof GetGeneric[TDependencies1][TDependencies2][TDependencies3]>(dependencies: [ TDependencies1, TDependencies2, TDependencies3, TDependencies4 ], form?: TForm): GetGeneric[TDependencies1][TDependencies2][TDependencies3][TDependencies4]; declare function useWatch, TForm extends OcFormInstance, TDependencies2 extends keyof GetGeneric[TDependencies1], TDependencies3 extends keyof GetGeneric[TDependencies1][TDependencies2]>(dependencies: [TDependencies1, TDependencies2, TDependencies3], form?: TForm): GetGeneric[TDependencies1][TDependencies2][TDependencies3]; declare function useWatch, TForm extends OcFormInstance, TDependencies2 extends keyof GetGeneric[TDependencies1]>(dependencies: [TDependencies1, TDependencies2], form?: TForm): GetGeneric[TDependencies1][TDependencies2]; declare function useWatch, TForm extends OcFormInstance>(dependencies: TDependencies | [TDependencies], form?: TForm): GetGeneric[TDependencies]; declare function useWatch(dependencies: [], form?: TForm): GetGeneric; declare function useWatch(dependencies: OcNamePath, form?: TForm): any; declare function useWatch(dependencies: OcNamePath, form?: OcFormInstance): ValueType; export default useWatch;