import { Invite } from "../Invite"; import { Session } from "../Session"; import type { VerifiedEvent } from "nostr-tools"; import { type Rumor } from "../types"; import type { DeviceRecord as DeviceRecordShape, DeviceRecordDeps, DeviceSetupState } from "./types"; export declare class DeviceRecordActor implements DeviceRecordShape { readonly deviceId: string; private readonly deps; private static readonly MAX_INACTIVE_SESSIONS; activeSession?: Session; inactiveSessions: Session[]; state: DeviceSetupState; createdAt: number; private ensurePromise?; private inviteSubscription?; private inviteAcceptancePromise?; constructor(deviceId: string, deps: DeviceRecordDeps); private detachSession; private pruneDuplicateSessions; hasEstablishedActiveSession(): boolean; ensureSetup(): Promise; private doEnsureSetup; private ensureInviteSubscription; acceptInvite(invite: Invite): Promise; private doAcceptInvite; private publishInviteBootstrap; private promoteToActive; private sendEventWithBestSession; prepareOutboundEvent(rumor: Rumor): VerifiedEvent | undefined; private handleSessionRumor; processReceivedEvent(event: VerifiedEvent): boolean; installSession(session: Session, inactive?: boolean, options?: { persist?: boolean; preferActive?: boolean; }): void; private trimInactiveSessions; flushMessageQueue(): Promise; deactivateCurrentSession(): void; revoke(): Promise; close(): void; } //# sourceMappingURL=DeviceRecordActor.d.ts.map