
import { ReactNode } from "react";

//#region src/components/form/Form/types.d.ts
type FieldTypes = {
  [key: string]: any;
};
type CubeFieldData<Name extends string, Value> = {
  readonly name: Name;
  errors: ReactNode[];
  value?: Value;
  touched?: boolean;
  rules?: any[];
  validating?: boolean;
  validationId?: number;
  status?: 'valid' | 'invalid';
  validationDetails?: ValidityState;
};
type Fields = Record<keyof FieldTypes, CubeFieldData<string, any>>;
type SetFieldsArrType<T extends FieldTypes, Name extends keyof T & string> = CubeFieldData<Name, T[Name]>;
//#endregion
export { CubeFieldData, FieldTypes, Fields, SetFieldsArrType };
//# sourceMappingURL=types.d.ts.map