import type { VideoExecutionCancelResult, VideoExecutionPayload, VideoExecutionPollResult } from './types.js'; interface FetchLikeResponse { ok: boolean; status: number; text(): Promise; json(): Promise; arrayBuffer(): Promise; } type FetchLike = (input: string, init?: { method?: string; headers?: Record; body?: string | Uint8Array; }) => Promise; /** * Dreamina Omni Reference requires the prompt to reference each omni slot as * `@imageN`/`@videoN`/`@audioN` (1-based) — a plain prompt is rejected with HTTP * 400 ("prompt must contain at least one @imageN/@videoN/@audioN reference"). * Prepend any markers the prompt does not already contain so an operator can write * plain dialogue (as on the other voice-lock routes). Operator-authored markers — * e.g. a per-line `@video1` for speaker→voice binding — survive prompt processing * (reserved in prompt-rules) and are detected here, so they are left in place and * never duplicated. The `(?!\d)` guard stops `@image1` matching `@image10`. Pure. */ export declare function ensureOmniMarkers(prompt: string, counts: { images: number; videos: number; audios: number; }): string; export declare function submitDreaminaUseApiNative(payload: VideoExecutionPayload, options?: { env?: NodeJS.ProcessEnv; fetchImpl?: FetchLike; }): Promise<{ externalJobId: string; rawResult: unknown; }>; export declare function pollDreaminaUseApiNative(input: { outputDir: string; externalJobId: string; workspaceRoot: string; }, options?: { env?: NodeJS.ProcessEnv; fetchImpl?: FetchLike; }): Promise; export declare function cancelDreaminaUseApiNative(input: { outputDir: string; externalJobId: string; workspaceRoot: string; }): Promise; export {}; //# sourceMappingURL=native-dreamina.d.ts.map