import { ISerializable, Serializable } from "@js-soft/ts-serval"; import { CoreDate, CoreId, ICoreDate, ICoreId } from "@nmshd/core-types"; import { CoreSynchronizable, ICoreSynchronizable } from "../../../core"; import { Identity, IIdentity } from "../../accounts/data/Identity"; import { BackboneGetRelationshipResponse } from "../backbone/BackboneGetRelationships"; import { RelationshipStatus } from "../transmission/RelationshipStatus"; import { IPeerDeletionInfo, PeerDeletionInfo } from "./PeerDeletionInfo"; import { IRelationshipAuditLogEntry, RelationshipAuditLogEntry } from "./RelationshipAuditLogEntry"; export interface IRelationship extends ICoreSynchronizable { relationshipSecretId: ICoreId; peer: IIdentity; peerDeletionInfo?: IPeerDeletionInfo; status: RelationshipStatus; templateId: ICoreId; creationContent: ISerializable; lastMessageSentAt?: ICoreDate; lastMessageReceivedAt?: ICoreDate; auditLog: IRelationshipAuditLogEntry[]; metadata?: any; metadataModifiedAt?: CoreDate; } export declare class Relationship extends CoreSynchronizable implements IRelationship { readonly technicalProperties: string[]; readonly contentProperties: string[]; readonly metadataProperties: string[]; relationshipSecretId: CoreId; peer: Identity; peerDeletionInfo?: PeerDeletionInfo; status: RelationshipStatus; templateId: CoreId; creationContent: Serializable; lastMessageSentAt?: CoreDate; lastMessageReceivedAt?: CoreDate; auditLog: RelationshipAuditLogEntry[]; metadata?: any; metadataModifiedAt?: CoreDate; static fromBackboneAndCreationContent(response: BackboneGetRelationshipResponse, peer: IIdentity, creationContent: ISerializable, relationshipSecretId: CoreId): Relationship; static from(value: IRelationship): Relationship; setMetadata(metadata: any): this; } //# sourceMappingURL=Relationship.d.ts.map