import type { Logger } from './types.js'; /** The three launch fields the channel argv is rebuilt from. */ export interface TelegramChannelBinding { senderId: string; gatewayUrl: string; serverPath: string; } export interface TelegramChannelEntry extends TelegramChannelBinding { boundAt: string; } export declare class TelegramChannelStore { private readonly bySessionId; private readonly filePath; private readonly logger; constructor(filePath: string, logger: Logger); /** Read the persisted file into the in-memory map. Boot-resilient: any * failure (missing file, malformed JSON, permission denied) is logged and * the store starts empty. Never throws. */ loadFromDisk(): void; get(sessionId: string): TelegramChannelEntry | undefined; /** Write-through `binding` for `sessionId`; refreshes boundAt each call. */ set(sessionId: string, binding: TelegramChannelBinding): TelegramChannelEntry; /** Remove the entry for `sessionId` if present. Returns true when removed. */ remove(sessionId: string): boolean; /** Current in-memory snapshot — diagnostic only. */ size(): number; private persistAtomic; } //# sourceMappingURL=telegram-channel-store.d.ts.map