import type { IRightsManagementPolicy } from "@twin.org/rights-management-models"; import type { DataspaceProtocolTransferProcessStateType, IDataspaceProtocolDataAddress } from "@twin.org/standards-dataspace-protocol"; import type { TransferProcessRole } from "../models/controlPlane/transferProcessRole.js"; /** * Transfer Process for shared storage between Control Plane and Data Plane. * This entity is the persistent representation of ITransferProcess. */ export declare class TransferProcess { /** * The consumer PID is the primary key. * Used for direct lookup by consumerPid. */ consumerPid: string; /** * Internal UUID for storage (secondary key for providerPid lookup). */ id: string; /** * Provider Process ID from the DSP protocol. * Indexed for lookup by providerPid. */ providerPid: string; /** * Agreement ID linking to the rights-management Agreement. */ agreementId: string; /** * Transfer Process state from the DSP protocol. * One of: REQUESTED, STARTED, COMPLETED, SUSPENDED, TERMINATED. */ state: DataspaceProtocolTransferProcessStateType; /** * Dataset ID for DSC resolution. */ datasetId: string; /** * Offer ID from the original Catalog offer. */ offerId: string; /** * Consumer identity (DID or URI). */ consumerIdentity?: string; /** * Provider identity (DID or URI). */ providerIdentity?: string; /** * This node's role in the transfer, captured at write time so state transitions and async delivery * can tell which party we are without inferring it from the matched PID (consumerPid is the primary * key on both nodes). Optional for back-compat with records written before this field existed. */ localRole?: TransferProcessRole; /** * Data format from the Dataset Distribution. */ format?: string; /** * Callback address for Consumer notifications. */ callbackAddress?: string; /** * The organization that owns this transfer process, captured from the request context at write time. */ organizationIdentity: string; /** * Creation timestamp (ISO string format). */ dateCreated: string; /** * Last update timestamp (ISO string format). */ dateModified: string; /** * Policies from the Agreement (stored as JSON). */ policies?: IRightsManagementPolicy[]; /** * Data address for push mode transfers (stored as JSON). */ dataAddress?: IDataspaceProtocolDataAddress; }