export interface TelegramSendOptions {
    chatId: string | number;
    text: string;
    parseMode?: "HTML" | "Markdown" | "MarkdownV2";
    replyMarkup?: TelegramInlineKeyboard;
}
export interface TelegramInlineKeyboard {
    inline_keyboard: Array<Array<{
        text: string;
        callback_data?: string;
        url?: string;
    }>>;
}
export declare function sendMessage(botToken: string, options: TelegramSendOptions): Promise<{
    ok: boolean;
    messageId?: number;
    error?: string;
}>;
/**
 * Register a webhook URL with Telegram and generate a cryptographic secret.
 *
 * The secret is:
 *   1. Generated via crypto.randomBytes (64 hex chars)
 *   2. Passed to the Telegram Bot API as secret_token
 *   3. Written to secretFilePath on disk ONLY after the API confirms success
 *
 * Telegram sends this secret in the X-Telegram-Bot-Api-Secret-Token header
 * on every webhook delivery. The webhook route validates it before processing.
 *
 * If secretFilePath is omitted, no secret is generated (backward compat for tests).
 */
export declare function setWebhook(botToken: string, webhookUrl: string, secretFilePath?: string): Promise<{
    ok: boolean;
    secret?: string;
    error?: string;
}>;
export declare function getWebhookInfo(botToken: string): Promise<{
    url: string;
    pendingUpdateCount: number;
}>;
//# sourceMappingURL=telegram.d.ts.map