import type { HumanDecisionChannelRequest, HumanDecisionResponse } from "../workflows/types.js"; import type { TelegramFetch } from "./config.js"; import type { TelegramMessageReference } from "./protocol.js"; export type TelegramVerifiedAnswer = { request: HumanDecisionChannelRequest; response: HumanDecisionResponse; actorId: string; chatId: string; eventId: string; cursor: number; }; export declare class TelegramAdapter { private readonly options; private requests; private readonly allowedUsers; private readonly allowedChats; private readonly request; constructor(options: { profile: string; token: string; allowedUserIds: readonly string[]; allowedChatIds: readonly string[]; fetchFn?: TelegramFetch; apiBase?: string; }); setRequests(requests: readonly HumanDecisionChannelRequest[]): void; present(request: HumanDecisionChannelRequest): Promise; poll(cursor: number): Promise<{ cursor: number; answers: TelegramVerifiedAnswer[]; }>; settle(outcome: "accepted" | "cancelled" | "expired", response: HumanDecisionResponse | undefined, messages: readonly TelegramMessageReference[]): Promise; private handleUpdate; private handleCallback; private handleReply; private keyboard; private callbackBinding; private replyBinding; private callbackToken; private replyToken; private token; private answerCallback; private call; } export declare function renderDecisionText(request: HumanDecisionChannelRequest): string; export declare function renderTelegramParts(request: HumanDecisionChannelRequest): string[];