import { ISerializable } from "@js-soft/ts-serval"; import { Result } from "@js-soft/ts-utils"; import { CoreAddress, CoreId } from "@nmshd/core-types"; import { TransportController } from "../../core/TransportController"; import { AccountController } from "../accounts/AccountController"; import { Relationship } from "../relationships/local/Relationship"; import { Message } from "./local/Message"; import { ISendMessageParameters } from "./local/SendMessageParameters"; export declare class MessageController extends TransportController { private client; private messages; private readonly relationships; private secrets; constructor(parent: AccountController); init(): Promise; getMessages(query?: any): Promise; getMessagesByRelationshipId(id: CoreId): Promise; cleanupMessagesOfDecomposedRelationship(relationship: Relationship): Promise; private cleanupMessageOfDecomposedRelationship; getMessagesByAddress(address: CoreAddress): Promise; getReceivedMessages(): Promise; getMessage(id: CoreId): Promise; updateBackboneData(ids: string[]): Promise; private updateBackboneDataOfExistingMessageInDb; private updateBackboneDataOfMessage; loadPeerMessage(id: CoreId): Promise; private getEnvelopeFromBackboneGetMessagesResponse; setMessageMetadata(idOrMessage: CoreId | Message, metadata: ISerializable): Promise; markMessageAsRead(id: CoreId): Promise; markMessageAsUnread(id: CoreId): Promise; sendMessage(parameters: ISendMessageParameters): Promise; validateMessageRecipients(recipients: CoreAddress[]): Promise>; private decryptOwnEnvelope; private decryptPeerEnvelope; private decryptMessage; } //# sourceMappingURL=MessageController.d.ts.map