import type { MainToWorkerMessage, ProctoringConfig, WorkerToMainMessage } from "@a4anthony/proctorkit-types"; import { EventQueue } from "../queue/event-queue.js"; import { Uploader } from "../uploader/uploader.js"; export interface WorkerHost { postMessage(msg: WorkerToMainMessage): void; onMessage(handler: (msg: MainToWorkerMessage) => void): void; } export interface WorkerCoreDeps { queueFactory?: (sessionId: string) => EventQueue; uploaderFactory?: (queue: EventQueue, config: ProctoringConfig) => Uploader; newEventId?: () => string; now?: () => number; /** Internal test seam; never exposed through ProctoringConfig. */ deliveryCanaryTimeoutMs?: number; } export declare class WorkerCore { private readonly host; private queue; private uploader; private config; private candidate; private readonly deps; constructor(host: WorkerHost, deps?: WorkerCoreDeps); private handle; private init; private emit; private createEvent; private stop; } //# sourceMappingURL=worker-core.d.ts.map