/** * Reaction lifecycle manager. * * Three acts, one arc: * I. Acknowledge — instant reaction on the user's message * II. Escalation — emoji evolves if processing takes time * III. Curtain call — reaction removed when the response arrives * * Race-condition hardened: * - Rapid messages: old pending is cleared before new one is stored. * - clear() during in-flight acknowledge(): generation counter * prevents stale reactions from being stored. * - clear() during in-flight swap(): generation check after API call * cleans up orphaned reactions. * - Escalation timers are chained, not parallel — the deep-work * timer only starts after the first escalation completes. */ import type { LarkReactionClient, AcknowledgeOptions, ReactionsManager } from './types.js'; export declare class ReactionsManagerImpl implements ReactionsManager { private readonly client; private readonly pending; private readonly generation; constructor(client: LarkReactionClient); acknowledge(chatId: string, messageId: string, text: string, options?: AcknowledgeOptions): Promise; clear(chatId: string): Promise; dispose(): void; private swap; private advanceGeneration; private deleteReactionQuietly; private cancelTimers; } //# sourceMappingURL=lifecycle.d.ts.map