/** * Teams emoji shortcut-to-ID resolution. * * Fetches the emoji catalog dynamically from the Teams CDN at runtime * and builds a shortcut→ID map in memory. This avoids hardcoding 1100+ * entries and keeps the map up-to-date as Teams adds new emojis. * * The CDN URL pattern is: * https://statics.teams.cdn.office.net/evergreen-assets/personal-expressions/v1/metadata/{version}/{locale}.json * * The {version} is a content hash embedded in the Teams client config. * Multiple known versions are tried in order (newest first). * If all fetches fail, resolveReactionKey falls back to returning the * lowercased input (standard reactions like "like", "heart", "laugh" * have id === shortcut and work without any map). */ /** * Reset internal state — exposed for test isolation only. */ export declare function resetEmojiMap(): void; /** * Initialize the emoji shortcut→ID map by fetching from the Teams CDN. * * Safe to call multiple times — only the first call triggers a fetch. * If the fetch fails, resolveReactionKey will fall back to returning * the lowercased input (which works for standard reactions). */ export declare function initializeEmojiMap(): Promise; /** * Resolve a user-friendly reaction name to the Teams emoji ID. * * Accepts shortcuts (e.g. "horse"), emoji IDs (e.g. "1f40e_horse"), * or standard reaction names (e.g. "like"). Returns the emoji ID that * the Teams Chat Service API expects. * * Resolution order: * 1. If the emoji map has been fetched, looks up the input as a shortcut. * 2. Otherwise, returns the lowercased input (works for standard reactions * where id === shortcut, e.g. "like", "heart", "laugh"). */ export declare function resolveReactionKey(input: string): string; //# sourceMappingURL=emoji-map.d.ts.map