import { InputFile } from 'telegraf/typings/core/types/typegram'; import { NewInvoiceParameters } from 'telegraf/typings/telegram-types'; import { Location, ParseMode, Venue } from 'typegram'; export declare type Body = string | TextBody | MediaBody | LocationBody | VenueBody | InvoiceBody; export declare type MediaType = 'animation' | 'audio' | 'document' | 'photo' | 'video'; export declare const MEDIA_TYPES: readonly MediaType[]; interface TextPart { readonly text: string; readonly parse_mode?: ParseMode; } export interface TextBody extends TextPart { readonly disable_web_page_preview?: boolean; } export interface MediaBody extends Partial { readonly type: MediaType; readonly media: string | InputFile; } export interface LocationBody { readonly location: Readonly; readonly live_period?: number; } export interface VenueBody { readonly venue: Readonly; } export interface InvoiceBody { readonly invoice: Readonly; } export declare function isTextBody(body: unknown): body is string | TextBody; export declare function isMediaBody(body: unknown): body is MediaBody; export declare function isLocationBody(body: unknown): body is LocationBody; export declare function isVenueBody(body: unknown): body is VenueBody; export declare function isInvoiceBody(body: unknown): body is InvoiceBody; export declare function getBodyText(body: TextBody | string): string; export {};