import { type Locale } from './i18n.js'; export declare const REACTION_EMOJIS: readonly ["👍", "❤️", "😂", "🎉", "😢", "🔥"]; /** @internal Not part of the package's public API surface; not re-exported from index.ts. Kept exported for cross-file use within the package. */ export type ReactionEmoji = (typeof REACTION_EMOJIS)[number]; /** Heart-first affordance (spec amendment 2026-07-14): the per-bubble heart * button always targets this one emoji — single source of truth so its * string literal never drifts from REACTION_EMOJIS[1]. */ export declare const HEART_EMOJI: ReactionEmoji; /** `lang` defaults to 'en' so every existing call site (incl. direct-import * unit tests) keeps working without a signature change. */ export declare function reactionAriaLabel(emoji: string, lang?: Locale): string; /** Full aria-label for a reaction chip button: emoji name + count + an * optional "you reacted" suffix. Was inlined as string concatenation in * message-list.ts (`${reactionAriaLabel(emoji)}, ${count} reaction${count * !== 1 ? 's' : ''}${isOwn ? ', you reacted' : ''}`) — moved here so the * RU pluralization rule lives next to the emoji-name table it composes with. */ export declare function reactionButtonAriaLabel(emoji: string, count: number, isOwn: boolean, lang?: Locale): string; /** Lookup: does the caller's `ownReactions` set contain this emoji? * Pure so the chip-highlight logic is unit-testable without * mounting the component. */ export declare function isOwnReaction(emoji: string, ownReactions: ReadonlyArray | undefined): boolean; //# sourceMappingURL=reaction-types.d.ts.map