import { type VideoGenerationServices } from "./video-generation.ts"; import { type VideoExportServices } from "./video-export.ts"; /** Cordis registries are runtime-injected; individual tool JSON is validated at entry. */ export declare function registerStudioVideoRuntime(ctx: any, options: { systemPrompt: string; concurrency: number; maxReferences: number; maxReferenceBytes: number; rendererVersion: string; maxSnapshotBytes: number; }, services: VideoGenerationServices & Pick): { bindSession(sessionId: string, projectFolder: string): void; action(raw: unknown, sessionId: string): Promise<{ accepted: boolean; requestId: string; }>; selectVersion(raw: unknown, sessionId: string): Promise<{ state: import("./preproduction-workspace.ts").CrocoProjectSnapshot; }>; export(raw: unknown, sessionId: string): Promise<{ accepted: boolean; exportId: string; }>; resumeExport(projectFolder: string, exportId: string, sessionId: string): Promise<{ accepted: boolean; exportId: string; }>; readExport: (projectFolder: string, exportId: string, sessionId: string) => Promise<{ export: { id: string; requestId: string; sessionId: string; compositionPath: string; rendererVersion: string; settings: { mode: "preview" | "final"; fps: 24 | 30 | 60; quality: "draft" | "standard" | "high"; format: "mp4" | "webm" | "mov"; resolution: "source" | "native" | "1080p" | "4k" | "landscape" | "portrait" | "square" | "landscape-4k" | "portrait-4k" | "square-4k"; variables: Record; }; createdAt: string; updatedAt: string; phase: "completed" | "failed" | "preparing" | "interrupted" | "checking-sources" | "refining" | "applying-edits" | "rendering" | "verifying"; snapshotPath: string; snapshotDigest: string; files: { relativePath: string; sha256: string; }[]; sources: { compositionPath: string; elementId: string; sourcePath: string; artifactId?: string | undefined; }[]; outputPath?: string | undefined; media?: { relativePath: string; mimeType: string; durationSeconds: number; width: number; height: number; hasAudio: boolean; sha256: string; frameRate?: number | undefined; } | undefined; message?: string | undefined; renderGeometry?: { canvasWidth: number; canvasHeight: number; width: number; height: number; captureScale: number; } | undefined; }; refinements: { sourceArtifactId: string; sourceJobId: string; idempotencyKey: string; phase: "queued" | "running" | "completed" | "failed" | "submitting" | "downloading" | "interrupted" | "submission-unknown" | "checking" | "unavailable" | "unsupported"; updatedAt: string; childJobId?: string | undefined; outputPath?: string | undefined; media?: { relativePath: string; mimeType: string; durationSeconds: number; width: number; height: number; hasAudio: boolean; sha256: string; frameRate?: number | undefined; } | undefined; message?: string | undefined; }[]; }>; };