import { ISerializable } from "@js-soft/ts-serval"; import { Result } from "@js-soft/ts-utils"; import { CoreAddress, CoreError, CoreId } from "@nmshd/core-types"; import { CoreBuffer, CryptoSignature } from "@nmshd/crypto"; import { TransportController } from "../../core"; import { AccountController } from "../accounts/AccountController"; import { RelationshipSecretController } from "./RelationshipSecretController"; import { PeerDeletionInfo } from "./local/PeerDeletionInfo"; import { Relationship } from "./local/Relationship"; import { ISendRelationshipParameters } from "./local/SendRelationshipParameters"; import { RelationshipStatus } from "./transmission/RelationshipStatus"; export declare class RelationshipsController extends TransportController { private client; private relationships; private readonly secrets; constructor(parent: AccountController, secrets: RelationshipSecretController); init(): Promise; getRelationships(query?: any): Promise; getRelationshipToIdentity(address: CoreAddress, status?: RelationshipStatus): Promise; getActiveRelationshipToIdentity(address: CoreAddress): Promise; getRelationship(id: CoreId): Promise; sign(relationship: Relationship, content: CoreBuffer): Promise; verify(relationship: Relationship, content: CoreBuffer, signature: CryptoSignature): Promise; verifyIdentity(relationship: Relationship, content: CoreBuffer, signature: CryptoSignature): Promise; sendRelationship(parameters: ISendRelationshipParameters): Promise; canSendRelationship(parameters: ISendRelationshipParameters): Promise>; getExistingRelationshipToIdentity(address: CoreAddress): Promise; setRelationshipMetadata(idOrRelationship: CoreId | Relationship, metadata: ISerializable): Promise; accept(relationshipId: CoreId): Promise; reject(relationshipId: CoreId): Promise; revoke(relationshipId: CoreId): Promise; terminate(relationshipId: CoreId): Promise; requestReactivation(relationshipId: CoreId): Promise; rejectReactivation(relationshipId: CoreId): Promise; revokeReactivation(relationshipId: CoreId): Promise; acceptReactivation(relationshipId: CoreId): Promise; decompose(relationshipId: CoreId): Promise; private assertRelationshipStatus; private prepareCreationContent; private updateRelationshipWithPeerResponse; private decryptCreationContent; private createNewRelationshipByIncomingCreation; applyRelationshipChangedEvent(relationshipId: string): Promise<{ oldRelationship?: Relationship; changedRelationship?: Relationship; }>; private prepareCreationResponseContent; private completeOperationWithBackboneCall; private publishEventAfterCompletedOperation; setPeerDeletionInfo(relationshipId: CoreId, deletionInfo?: PeerDeletionInfo): Promise; } //# sourceMappingURL=RelationshipsController.d.ts.map