/** * The house announcement ("news") template for bot mass messages, as a first-class structure: * compose an {@link Announcement} once, render it per language, and hand the bodies to a * polyglot broadcast engine. The render targets the common Telegram-markdown subset * (`# heading` โ†’ bold, `- ` bullets, `*โ€ฆ*` italics) most bot pipelines already convert to * Telegram HTML โ€” no parse_mode assumptions live here. * * Shape (each section optional, order preserved): * * # ๐Ÿ“ฐ * * ๐Ÿ’ฌ Info * - โ€ฆ * * โœจ New Features * - โ€ฆ * * ๐Ÿ› Fixes * - โ€ฆ * * __ * * ยท * * The signature separator is a middle dot by design โ€” never an em dash. */ export interface AnnouncementSection { /** Leading emoji for the section title, e.g. "๐Ÿ’ฌ". */ emoji: string; /** Section title, e.g. "Info". */ title: string; /** Bulleted items, one line each. */ items: string[]; } export interface Announcement { /** Banner line, e.g. "theSummaryBot News". Rendered as `# ๐Ÿ“ฐ `. */ banner: string; sections: AnnouncementSection[]; /** Italic closing line, e.g. "Questions? Feedback? Feel free to reach out!". */ closer?: string; /** Attribution, e.g. "@adriangalilea". Rendered as `ยท `. */ signature?: string; } /** The three canonical sections, so every announcement wears the same iconography. */ export declare const section: { info: (items: string[], title?: string) => AnnouncementSection; features: (items: string[], title?: string) => AnnouncementSection; fixes: (items: string[], title?: string) => AnnouncementSection; }; /** Render one language's announcement to the Telegram-markdown subset. */ export declare function renderAnnouncement(a: Announcement): string; /** * Per-language bodies for a polyglot broadcast: language code โ†’ rendered body. "en" is the * required fallback anchor โ€” an engine resolves each recipient's language and falls back to it. */ export type AnnouncementBodies = Record; /** Render a per-language map of announcements into broadcast bodies. Throws without "en". */ export declare function renderAnnouncementBodies(byLanguage: Record): AnnouncementBodies; //# sourceMappingURL=announce.d.ts.map