import type { OfflineContextService } from './offline-context-service.js'; import { type TimelineCachePort } from '../timeline-cache-port.js'; import type { ChatSyncCommand } from '../chat-message-sync.js'; import type { ArkmeTimelinePage } from '../types.js'; import { type ArkmeUnifiedTimelineQuery, type ArkmeTimelineSourceStatus } from '../unified-chat-timeline.js'; import type { ChatService } from './chat-service.js'; import type { InterwovenService } from './interwoven-service.js'; import type { SourceService } from './source-service.js'; import { type ServiceRuntime } from './service.js'; export declare function parseUnifiedTimelineResponse(raw: unknown, sessionUid: string): { data: Record; sources: ArkmeTimelineSourceStatus[]; events: Record[]; }; /** One remote structure read shared by UI, SDK and Tools. Content adapters never query structure. */ export declare class UnifiedChatTimelineService { private readonly runtime; private readonly source; private readonly chat; private readonly interwoven; private readonly createCache; private readonly offlineContexts?; private cache; private epoch; private disposed; private storageRetryAt; private storageFailures; private invalidateAll; private readonly knownSources; private readonly pendingInvalidations; private invalidating; private readonly unsubscribe; dispose(): void; reset(): void; constructor(runtime: ServiceRuntime, source: SourceService, chat: ChatService, interwoven: InterwovenService, createCache?: (directory: string) => TimelineCachePort, offlineContexts?: Pick | undefined); private storage; private backoffStorage; private failedStorage; private callStorage; private readyStorage; sync(command: ChatSyncCommand): Promise; syncTicket(): Promise; /** Directory arrivals request catch-up; they do not revoke a confirmed snapshot. */ refreshKnownWindows(): Promise; refreshHint(sourceKey: string): Promise; invalidate(sourceKey: string, timelineItemKey?: string, terminal?: boolean): Promise; private queueInvalidation; private drainInvalidations; read(sourceRef: string, query?: ArkmeUnifiedTimelineQuery, signal?: AbortSignal, background?: boolean): Promise; private readOwned; } //# sourceMappingURL=unified-chat-timeline-service.d.ts.map