import { type SceneActivation, type ScenePermission } from './contracts.js'; import type { SceneContextProvider } from './execution.js'; import { SceneRepository } from './repository.js'; /** Observes only explicitly delegated threads; the host owns scan scheduling. */ export declare class SceneMailObservationService { private readonly repository; private readonly provider; private readonly authorize; private readonly clock; private readonly intervalMs; private readonly itemTimeoutMs; private nextScanAt; private readonly failures; constructor(repository: SceneRepository, provider: SceneContextProvider, authorize: (activation: SceneActivation) => Promise, clock?: () => number, intervalMs?: number, itemTimeoutMs?: number); scan(signal: AbortSignal, afterId?: string, progress?: (id: string) => void): Promise<{ changed: number; unavailable: number; nextCursor: string | null; }>; }