import type { InspectOptionsStylized } from 'node:util'; import { INSPECT } from '../generated/inspect.js'; import { ReactionCount } from '../generated/structures.js'; import type { TelegramReactionCount } from '../generated/types.js'; type InspectFn = (value: unknown, options: InspectOptionsStylized) => string; /** * the reaction tally on a message * * wraps the `ReactionCount[]` payload as a single ergonomic object exposing the summed and * per-emoji counts. iterating yields `ReactionCount` wrappers in payload order */ export declare class ReactionCounts { raw: TelegramReactionCount[]; private _counts?; constructor(raw: TelegramReactionCount[]); /** lazily-wrapped `ReactionCount` instances for every reaction */ get counts(): ReactionCount[]; /** number of distinct reactions */ get length(): number; /** every reaction counted together */ get total(): number; /** most-used reaction, first one on a tie; undefined when nothing is reacted */ get top(): ReactionCount | undefined; /** wrap a raw `ReactionCount[]` payload in a `ReactionCounts` */ static fromPayload(raw: TelegramReactionCount[]): ReactionCounts; /** how many times this standard emoji was reacted with, 0 when absent */ countOf(emoji: string): number; /** how many times this custom emoji was reacted with, 0 when absent */ countOfCustomEmoji(customEmojiId: string): number; /** how many paid (telegram stars) reactions were added, 0 when absent */ countOfPaid(): number; [Symbol.iterator](): ArrayIterator; [INSPECT](depth: number, options: InspectOptionsStylized, inspect: InspectFn): string; } export {}; //# sourceMappingURL=reaction-counts.d.ts.map