import type { MediaService } from './media-service.js'; import type { OfflineContextPort, OfflineContextRequest } from '../offline-context-contract.js'; import { type RecordOwnerId } from '../record-owner-id.js'; import type { SourceService } from './source-service.js'; import { type ServiceRuntime } from './service.js'; /** One owner for UI, SDK and Tools. Backend identifiers and preview credentials * stay inside environment/account-bound authenticated envelopes. */ export declare class OfflineContextService implements OfflineContextPort { private readonly runtime; private readonly sources; private readonly media?; private readonly invalidateProjection?; private epoch; private disposed; private capabilityCache?; private readonly unsubscribe; private readonly journalCodec; constructor(runtime: ServiceRuntime, sources: Pick, media?: Pick | undefined, invalidateProjection?: ((userId: number) => Promise) | undefined); dispose(): void; timelineReference(id: string, chat: string, kind: 'private_chat' | 'group_chat', name: string): Promise; timelineAnchor(ref: string, chat: string): Promise; messageReference(chat: string, relation: string, record: string, owner: RecordOwnerId): Promise; messageAnchor(ref: string, chat: string): Promise<{ record_uid: string; record_owner_user_id: RecordOwnerId; }>; offlineContext(input: OfflineContextRequest, signal?: AbortSignal): ReturnType; } //# sourceMappingURL=offline-context-service.d.ts.map