import type { ArkmeRecordingCoverageInterval, ArkmeSourceItem } from '../types.js'; import { callArkme } from './api.js'; import { type DayActivityReader, type DayActivityQuery } from './calendar-activity-model.js'; export type ExistingDayTarget = { kind: 'source'; source: ArkmeSourceItem; } | { kind: 'recording'; dateStamp: number; startAtMillis: number; }; export declare function personalDateKey(date: Date): string; /** recordings.day currently takes device-local midnight. Do not silently mix timezones. */ export declare function existingDayBounds(query: DayActivityQuery): [number, number]; /** Only join physically touching/overlapping intervals from the same source/status. Never fill a gap. */ export declare function continuousRecordingIntervals(intervals: readonly ArkmeRecordingCoverageInterval[]): ArkmeRecordingCoverageInterval[]; /** Uses existing backend reads through the Host. One session is retained per mounted calendar. */ export declare function createExistingDayActivityReader(accountScope: string, read?: typeof callArkme): DayActivityReader & { resolveTarget(ref: string): ExistingDayTarget | undefined; }; //# sourceMappingURL=existing-day-activity-reader.d.ts.map