import { type CinemaLaneQueuePort } from './cinema-production-queue.js'; import type { CinemaQueueMoney, CinemaQueueTask } from './cinema-queue-types.js'; import type { CinemaSpendAuthorizationPort } from './cinema-provider-types.js'; import type { SceneCandidate, VideoExecutionPayload } from './types.js'; import { type CinemaChainFallbackTransition } from './cinema-chain-fallback.js'; import { type ChainSeedFreezeDeps } from './seedance-chain-host.js'; export interface CinemaCompatibilityWorkerObservation { state: 'not-found' | 'accepted' | 'processing' | 'completed' | 'failed' | 'unknown'; authoritative: boolean; providerJobId: string | null; providerStatus: string; envelope: Record; outputs: Array<{ id: string; kind: 'image' | 'video' | 'audio' | 'subtitle' | 'other'; path: string; sceneIndex?: number; backend?: string; }>; actualCost: CinemaQueueMoney | null; failure?: { code: string; message: string; retryable: boolean; }; } export interface CinemaCompatibilityWorkerTransport { submit(payload: VideoExecutionPayload): Promise<{ providerJobId: string; providerStatus: string; envelope: Record; }>; lookup(input: { payload: VideoExecutionPayload; providerJobId: string | null; submissionKey: string; }): Promise; } export interface CinemaCompatibilityWorkerResult { disposition: 'submitted' | 'pending' | 'completed' | 'waiting-lane' | 'already-succeeded'; task: CinemaQueueTask; candidate: SceneCandidate | null; providerCalls: number; generationCalls: number; spendAuthorized: boolean; fallback?: CinemaChainFallbackTransition; } export declare function createCinemaCompatibilityAdapterTransport(task: CinemaQueueTask, env?: NodeJS.ProcessEnv): CinemaCompatibilityWorkerTransport; export declare function createCinemaCompatibilityPaidAdapterTransport(task: CinemaQueueTask, env?: NodeJS.ProcessEnv): CinemaCompatibilityWorkerTransport; export declare function buildCinemaCompatibilityExecutionPayload(root: string, projectSlug: string, task: CinemaQueueTask): VideoExecutionPayload; export declare function resolveCinemaCompatibilityExecutionPayload(root: string, projectSlug: string, task: CinemaQueueTask, options?: { env?: NodeJS.ProcessEnv; chainSeedFreezeDeps?: ChainSeedFreezeDeps; /** * false leaves the chain source as the previous CLIP and never touches ffmpeg. * Only for a task past its submit: poll, reconcile, download and the completed * bridge read the job id, slug, route and output folder, never the references. */ materializeChainSeed?: boolean; }): Promise; export declare function runCinemaCompatibilityWorkerOnce(options: { root: string; projectSlug: string; workerId: string; taskId: string; transport: CinemaCompatibilityWorkerTransport; confirmProviderCall: boolean; laneQueue?: CinemaLaneQueuePort; spendAuthorization?: CinemaSpendAuthorizationPort; now?: string; }): Promise; //# sourceMappingURL=cinema-compatibility-worker.d.ts.map