/// import { Entity, Mutation } from '../../api/types'; import AEntityUpdateRequest from '../../logic/updateRequest/AEntityUpdateRequest'; import UpdateMethodType from './UpdateMethodType'; import { FieldReference } from '../../logic/fieldReferences'; import { SyncFieldReference } from './useSyncFieldImperativeHandle'; export interface EntityContextValue { entity: E; updateEntity: (updateRequest: AEntityUpdateRequest) => void | Promise; isSyncing: boolean; /** * If true, whole entity cannot be edited */ readonly: boolean; registerFieldDefinition: (def: SyncFieldReference) => void; unregisterFieldDefinition: (def: SyncFieldReference) => void; settings: EntitySettings; } export interface EntitySettings { type: UpdateMethodType; entity: Entity | undefined; readonly: boolean; sourceKey: FieldReference; updateKey?: FieldReference; deleteKey?: FieldReference; updateEntity?: (entity: Entity) => void; updateMutation?: Mutation; } declare const EditableEntityContext: import("react").Context | null>; export declare const useEntityContext: () => EntityContextValue; export default EditableEntityContext;