export interface TelegramFileMetadata { file_path?: string; file_size?: number; } export interface TelegramMediaDownloadRequest { botToken: string; fileId: string; fileUniqueId: string; filename?: string; mimeType?: string; declaredSize?: number; kind: 'photo' | 'document'; mediaRoot: string; maxBytes?: number; timeoutMs?: number; getFile: (fileId: string) => Promise; fetchImpl?: (input: string | URL | Request, init?: RequestInit) => Promise; } export interface TelegramMediaDownloadResult { localPath: string; sourceRef: string; filename: string; mimeType: string; size: number; kind: 'photo' | 'document'; } export interface TelegramMediaPruneOptions { nowMs?: number; ttlMs?: number; maxTotalBytes?: number; preservePath?: string; } /** * Bound retained Telegram media across turns. Non-regular entries are removed, * expired files are deleted, then the oldest remaining files are evicted until * the cumulative quota is met. A just-downloaded file may be preserved while * older files are reclaimed. */ export declare function pruneTelegramMediaRoot(mediaRoot: string, options?: TelegramMediaPruneOptions): Promise; export declare function downloadTelegramMedia(request: TelegramMediaDownloadRequest): Promise; //# sourceMappingURL=telegram-media.d.ts.map