import type { ChannelAdapter, IncomingMessage, OutgoingMessage } from "./types.js";
interface TelegramOptions {
    token: string;
    /** Optional allow-list of chat IDs (numeric, both private and group). */
    allowedChatIds?: number[];
    /** Optional allow-list of @usernames (case-insensitive, no @ prefix). */
    allowedUsernames?: string[];
    /** Long-poll timeout in seconds. Default 30. */
    longPollSec?: number;
}
export declare class TelegramChannel implements ChannelAdapter {
    readonly name = "telegram";
    private opts;
    private offset;
    private running;
    private handler?;
    constructor(opts: TelegramOptions);
    start(handler: (msg: IncomingMessage) => Promise<void>): Promise<void>;
    stop(): Promise<void>;
    send(msg: OutgoingMessage): Promise<void>;
    private poll;
    private allowed;
    private api;
}
export {};
//# sourceMappingURL=telegram.d.ts.map