import type { Formattable, RichLike, TelegramInputContactMessageContent, TelegramInputInvoiceMessageContent, TelegramInputLocationMessageContent, TelegramInputRichMessage, TelegramInputRichMessageContent, TelegramInputTextMessageContent, TelegramInputVenueMessageContent } from '@puregram/api'; import { type Camelize } from './camelize.js'; type TextExtras = Camelize>; type LocationExtras = Camelize>; type VenueExtras = Camelize>; type ContactExtras = Camelize>; type InvoiceParams = Camelize; type RichExtras = Camelize>; /** * static factories for `InputMessageContent` payloads used by `InlineQueryResult*` * * unlike the other Input* families, the variants share no `type` discriminator * field — bot api disambiguates structurally (text vs latitude/longitude vs * phone_number vs payload). hand-crafted because the codegen pattern can't * encode the heterogeneous shape * * @example * ```ts * InlineQueryResult.article({ * id: '1', title: 't', * content: InputMessageContent.text('hi', { parseMode: 'HTML' }) * }) * InlineQueryResult.article({ * id: '2', title: 'pin', * content: InputMessageContent.location(55.75, 37.61) * }) * ``` */ export declare class InputMessageContent { /** rich-message body — pass a `Rich`, or build a dialect string via `.md` / `.markdown` / `.html` */ static rich: ((content: RichLike) => TelegramInputRichMessageContent) & { /** markdown rich body */ markdown: (markdown: string, extras?: RichExtras) => TelegramInputRichMessageContent; /** markdown rich body (alias) */ md: (markdown: string, extras?: RichExtras) => TelegramInputRichMessageContent; /** html rich body */ html: (html: string, extras?: RichExtras) => TelegramInputRichMessageContent; }; /** text message body */ static text(text: string | Formattable, params?: TextExtras): { message_text: string | Formattable; }; /** location message body */ static location(latitude: number, longitude: number, params?: LocationExtras): { latitude: number; longitude: number; }; /** venue message body */ static venue(latitude: number, longitude: number, title: string, address: string, params?: VenueExtras): { latitude: number; longitude: number; title: string; address: string; }; /** contact message body */ static contact(phoneNumber: string, firstName: string, params?: ContactExtras): { phone_number: string; first_name: string; }; /** invoice message body — too many required fields for a positional form, takes the full param object */ static invoice(params: InvoiceParams): TelegramInputInvoiceMessageContent; } export {}; //# sourceMappingURL=input-message-content.d.ts.map