import { type CinemaLaneQueuePort } from './cinema-production-queue.js'; import type { CinemaSpendAuthorizationPort } from './cinema-provider-types.js'; import { type CinemaImageResult } from './cinema-image-jobs.js'; import type { CinemaImageWorkerTransport } from './cinema-image-transport.js'; import type { CinemaQueueTask } from './cinema-queue-types.js'; export interface CinemaImageWorkerResult { disposition: 'submitted' | 'pending' | 'completed' | 'waiting-lane' | 'already-succeeded'; task: CinemaQueueTask; /** The pending-review image record, once the bytes are durably recorded. */ result: CinemaImageResult | null; providerCalls: number; generationCalls: number; spendAuthorized: boolean; } /** * Drain ONE `image-generate` task. * * This is a sibling of `runCinemaCompatibilityWorkerOnce`, not a fork of it. It * reuses every durable-state function that worker uses — claim, begin, record, * reconcile, download, complete, handoff — all of which are already * media-agnostic. What it cannot reuse is the video worker itself: its payload * builder refuses any kind but `video-generate` and any route outside the core * `ProviderRouteId` space, and it selects the completed output with a hardcoded * `kind === 'video'`. Those guards stay exactly as they are; they are the correct * refusal if an image task ever wanders in. * * A completed task bridges into `ingestCinemaImageFromQueue`, mirroring how a * completed video task bridges into a scene candidate. */ export declare function runCinemaImageWorkerOnce(options: { root: string; projectSlug: string; taskId: string; workerId: string; transport: CinemaImageWorkerTransport; confirmProviderCall: boolean; laneQueue?: CinemaLaneQueuePort; spendAuthorization?: CinemaSpendAuthorizationPort; now?: string; }): Promise; //# sourceMappingURL=cinema-image-worker.d.ts.map