export interface ArkmeMessagePreparingTarget { accountScope: string; sourceKey: string; sourceRef: string; } export interface ArkmeMessagePreparingTransport { report(target: ArkmeMessagePreparingTarget, prepareAtMillis: number): Promise; cancel(target: ArkmeMessagePreparingTarget, cancelAtMillis: number): Promise; } export declare class ArkmeMessagePreparingReporter { private readonly transport; private readonly now; private target; private reportedTarget; private desired; private revision; private sentRevision; private activityExpiresAt; private lastEventAt; private failures; private disabledUntil; private focused; private disposed; private inFlight; private armTimer; private emptyTimer; private idleTimer; private heartbeatTimer; constructor(transport: ArkmeMessagePreparingTransport, now?: () => number); setTarget(target: ArkmeMessagePreparingTarget | undefined): void; setFocused(focused: boolean): void; /** Only genuine composer edits call this; restoring a draft must not publish presence. */ input(text: string): void; stop(): void; private clearActivity; dispose(): void; private timestamp; private requestReport; private flush; } //# sourceMappingURL=message-preparing-reporter.d.ts.map