import { AppKeys } from "../AppKeys"; import type { Rumor } from "../types"; import type { VerifiedEvent } from "nostr-tools"; import { DeviceRecordActor } from "./DeviceRecordActor"; import type { UserRecord as UserRecordShape, UserRecordDeps, UserSetupState } from "./types"; export declare class UserRecordActor implements UserRecordShape { readonly publicKey: string; private readonly deps; private static readonly RECENT_OWN_DEVICE_SESSION_GRACE_MS; appKeys?: AppKeys; state: UserSetupState; devices: Map; setupPromise?: Promise; private appKeysSubscription?; private latestAppKeysCreatedAt; constructor(publicKey: string, deps: UserRecordDeps); private setState; ensureDevice(deviceId: string, createdAt?: number): DeviceRecordActor; setAppKeys(appKeys: AppKeys | undefined): void; queueOutboundMessage(rumor: Rumor): Promise; ensureSetup(): Promise; private doEnsureSetup; onAppKeys(appKeys: AppKeys, createdAt?: number): Promise; private migrateQueuedMessagesFromDevice; private ensureAppKeysSubscription; processAppKeysEvent(event: VerifiedEvent): Promise; private expandDiscoveryQueue; private getTargetDeviceIds; isDeviceAuthorized(deviceId: string): boolean; onDeviceRumor(deviceId: string, rumor: Rumor, outerEvent?: VerifiedEvent): void; onDeviceDirty(): void; deactivateCurrentSessions(): void; close(): void; } //# sourceMappingURL=UserRecordActor.d.ts.map