import { ISerializable, Serializable } from "@js-soft/ts-serval"; import { CoreAddress, CoreDate, CoreId, ICoreAddress, ICoreDate, ICoreId } from "@nmshd/core-types"; import { CryptoSecretKey, ICryptoSecretKey } from "@nmshd/crypto"; import { CoreSynchronizable, ICoreSynchronizable } from "../../../core"; import { IMessageRecipient, MessageRecipient } from "./MessageRecipient"; export interface IBackboneMessageContents { createdBy: CoreAddress; createdByDevice: CoreId; recipients: MessageRecipient[]; attachments: CoreId[]; content: Serializable; createdAt: CoreDate; receivedByEveryone: boolean; } export interface IMessage extends ICoreSynchronizable { secretKey: ICryptoSecretKey; isOwn: boolean; createdBy: ICoreAddress; createdByDevice: ICoreId; recipients: IMessageRecipient[]; createdAt: ICoreDate; attachments?: ICoreId[]; receivedByEveryone: boolean; content: ISerializable; metadata?: any; metadataModifiedAt?: ICoreDate; wasReadAt?: ICoreDate; } export declare class Message extends CoreSynchronizable implements IMessage { readonly technicalProperties: string[]; readonly contentProperties: string[]; readonly metadataProperties: string[]; readonly userdataProperties: string[]; secretKey: CryptoSecretKey; isOwn: boolean; createdBy: CoreAddress; createdByDevice: CoreId; recipients: MessageRecipient[]; createdAt: CoreDate; attachments: CoreId[]; receivedByEveryone: boolean; content: Serializable; metadata?: any; metadataModifiedAt?: CoreDate; wasReadAt?: CoreDate; static from(value: IMessage): Message; setMetadata(metadata: any): this; updateWithBackboneData(backboneMessageContents: IBackboneMessageContents): void; } //# sourceMappingURL=Message.d.ts.map