import { Ref } from 'vue' import { IriString } from './Resource' import { AnyFormField, FormField } from '../models/FormFields' export type FormData = Record export type FormDataRef = Ref export type FormLayout = string[][] export type UseFormData = ( iri: IriString | null ) => { formData: FormDataRef formLayout?: FormLayout } export type RecordFormData< T, keys extends keyof T, otherKeys extends string = never > = Record | otherKeys, FormField> export type FormState = 'edited' | 'loading' | 'success' | 'error' | null