/**
 * TelegramChannel — MessagingChannelPort adapter for Telegram Bot API.
 *
 * Uses native fetch (Node 18+). MarkdownV2 escaping applied automatically.
 * No axios or other HTTP packages.
 *
 * @public
 */
import type { AlertLevel, MessagingChannelPort } from "../../ports/messaging.js";
export interface TelegramChannelConfig {
    /** Telegram Bot API token (from @BotFather). Never hardcoded — pass at runtime. */
    botToken: string;
    /** Default chat_id or @channel_username for sendAlert. */
    defaultChatId?: string;
}
/**
 * Thrown when Telegram returns a 429 Too Many Requests.
 *
 * @public
 */
export declare class TelegramRateLimitError extends Error {
    readonly retryAfterSeconds?: number | undefined;
    constructor(retryAfterSeconds?: number | undefined);
}
export declare class TelegramChannel implements MessagingChannelPort {
    #private;
    constructor(config: TelegramChannelConfig);
    sendAlert(level: AlertLevel, title: string, body: string): Promise<void>;
    sendMessage(target: string, text: string): Promise<void>;
}
//# sourceMappingURL=telegram.d.ts.map