export type SkillVideoWorkflow = 't2v' | 'i2v' | 's2v' | 'ia2v' | 'a2v' | 'animate-move' | 'animate-replace' | 'v2v'; type LtxWorkflow = 't2v' | 'i2v' | 'ia2v' | 'a2v' | 'v2v'; type Ltx25Workflow = LtxWorkflow; export interface SkillVideoModelConfig { workflow: SkillVideoWorkflow; family: 'ltx25' | 'ltx23' | 'ltx2' | 'wan22' | 'wan3' | 'seedance2'; defaultWidth: number; defaultHeight: number; minDimension: number; maxDimension: number; dimensionMultiple: number; maxPixels?: number; steps?: number; guidance?: number; fps?: number; internalFps?: number; frameStep?: number; minFrames?: number; maxFrames?: number; sampler?: string; scheduler?: string; shift?: number; supportsNativeAudio?: boolean; minVramGB?: number; requiresDisabledSafetyFilter?: boolean; } export interface SkillModelDefaults { workflow?: SkillVideoWorkflow; family?: 'ltx25' | 'ltx23' | 'ltx2' | 'wan22' | 'wan3' | 'seedance2' | 'krea2-identity-edit'; defaultWidth?: number; defaultHeight?: number; minDimension?: number; maxDimension?: number; dimensionMultiple?: number; maxPixels?: number; steps?: number; guidance?: number; fps?: number; internalFps?: number; frameStep?: number; minFrames?: number; maxFrames?: number; sampler?: string; scheduler?: string; shift?: number; supportsNativeAudio?: boolean; minVramGB?: number; requiresDisabledSafetyFilter?: boolean; } export interface SkillRuntimeConfig { modelDefaults?: Record; videoModels?: Partial>; } interface VideoPromptGuardrailInput { prompt?: string | null; duration?: number; frames?: number | null; fps?: number; durationExplicit?: boolean; referenceAudioIdentity?: unknown; voiceName?: string | null; } export interface VideoPromptGuardrailWarning { type: 'normalized-dialogue-quotes' | 'missing-quoted-dialogue' | 'duration-extended-for-dialogue' | 'dialogue-over-budget'; message: string; } export interface VideoPromptGuardrailPlan { prompt: string; duration: number; warnings: VideoPromptGuardrailWarning[]; } interface InferVideoWorkflowAssetsInput { refVideo?: unknown; videoControlNetName?: unknown; refAudio?: unknown; refImage?: unknown; refImageEnd?: unknown; prompt?: string | null; } export interface SkillCliSetState { model?: boolean; workflow?: boolean; width?: boolean; height?: boolean; targetResolution?: boolean; duration?: boolean; frames?: boolean; } export interface SkillCliVideoBrainInput { video?: boolean; prompt?: string | null; model?: string | null; workflow?: string | null; width?: number | null; height?: number | null; duration?: number | null; frames?: number | null; targetResolution?: number | null; refImage?: unknown; refImageEnd?: unknown; refAudio?: unknown; refVideo?: unknown; cliSet?: SkillCliSetState; } export interface ExplicitPixelDimensions { width: number; height: number; } export interface ExplicitAspectRatio { width: number; height: number; text: string; } export interface SeedanceStoryboardFallbackInput { userIntentText: string; uploadedImageCount: number; uploadedVideoCount?: number; uploadedAudioCount?: number; storyboardDetected?: boolean; storyboardDurationSeconds?: number | null; storyboardAspectRatio?: string | null; providesLiteralPrompt?: boolean; requestedDurationSeconds?: number | null; defaultDurationSeconds?: number; maxDurationSeconds?: number; minDurationSeconds?: number; referenceImageIndices?: number[]; } export interface SeedanceStoryboardFallbackPlan { prompt: string; duration: number; referenceImageIndices: number[]; skipPromptProcessing: true; expandPrompt: false; reason: 'text_mentions_storyboard' | 'vision_detected_storyboard'; aspectRatio?: string; } export interface SeedanceStoryboardReferenceModelDefaultInput { userIntentText: string; promptText?: string | null; hasImageReference?: boolean; storyboardDetected?: boolean; } export interface SkillCliVideoBrainPlan { prompt?: string; model?: string; workflow?: SkillVideoWorkflow; width?: number; height?: number; dimensionSource?: 'exact' | 'aspect'; aspectRatio?: string; targetResolution?: number; duration?: number; literalPrompt?: boolean; storyboard?: SeedanceStoryboardFallbackPlan; warnings: string[]; } export declare const SKILL_RUNTIME_VERSION = "2026-07-18.1"; export type PublicSkillSignalSource = 'planner' | 'runtime' | 'session_state' | 'classifier' | 'fact_extractor' | 'regex' | 'user' | 'system'; export interface PublicSkillSignal { kind: string; source: PublicSkillSignalSource | string; confidence?: number; data?: Record; } export interface PublicSkillToolGatingPolicy { policyId: string; trigger: { allOf: string[]; noneOf?: string[]; sources?: Record; }; effect: { forbid: string[]; require?: string[]; }; rationale?: string; } export interface PublicSkillPromptContract { toolName: string; fragment: string; } export interface PublicSkillRepairRecipe { toolName: string; errorCode: string; mode: 'passthrough' | 'execute_with_repair' | 'repair' | 'reject' | 'ask_user'; message?: string; suggestedArgs?: Record; } export interface PublicSkillTurnPolicy { visibleTools: string[]; forbiddenTools: string[]; requiredTools: string[]; appliedPolicies: string[]; signals: PublicSkillSignal[]; rationale: string; } export interface PublicSkillContractRuntime { policies: PublicSkillToolGatingPolicy[]; promptContracts: PublicSkillPromptContract[]; repairRecipes: PublicSkillRepairRecipe[]; } export interface PublicSkillContractToolDefinition { type: 'function'; function: { name: string; description?: string; parameters?: Record; }; } export interface PublicSkillCompiledToolSurface { tools: PublicSkillContractToolDefinition[]; contextBlock: string; turnPolicy: PublicSkillTurnPolicy; } export interface PublicSkillDispatchResult { allowed: boolean; mode: PublicSkillRepairRecipe['mode'] | 'passthrough' | 'reject'; reason?: string; repairRecipe?: PublicSkillRepairRecipe; suggestedArgs?: Record; } export declare const PUBLIC_SKILL_DEFAULT_POLICIES: PublicSkillToolGatingPolicy[]; export declare const PUBLIC_SKILL_DEFAULT_PROMPT_CONTRACTS: PublicSkillPromptContract[]; export declare const PUBLIC_SKILL_DEFAULT_REPAIR_RECIPES: PublicSkillRepairRecipe[]; export declare const PUBLIC_SKILL_DEFAULT_TOOL_NAMES: string[]; export declare const PUBLIC_SKILL_DEFAULT_TOOL_DEFINITIONS: PublicSkillContractToolDefinition[]; export declare function createPublicSkillContractRuntime(input?: Partial): PublicSkillContractRuntime; export declare function createPublicSkillDefaultContractRuntime(input?: Partial): PublicSkillContractRuntime; export declare function classifyPublicSkillTurn(input: { availableTools: readonly string[]; signals?: readonly PublicSkillSignal[]; sessionState?: Record; policies?: readonly PublicSkillToolGatingPolicy[]; runtime?: PublicSkillContractRuntime; }): PublicSkillTurnPolicy; export declare function compilePublicSkillToolSurface(input: { tools: readonly PublicSkillContractToolDefinition[]; turnPolicy?: PublicSkillTurnPolicy; signals?: readonly PublicSkillSignal[]; sessionState?: Record; policies?: readonly PublicSkillToolGatingPolicy[]; promptContracts?: readonly PublicSkillPromptContract[]; runtime?: PublicSkillContractRuntime; }): PublicSkillCompiledToolSurface; export declare function dispatchPublicSkillToolCall(input: { toolName: string; errorCode?: string; turnPolicy?: PublicSkillTurnPolicy; repairRecipes?: readonly PublicSkillRepairRecipe[]; runtime?: PublicSkillContractRuntime; }): PublicSkillDispatchResult; export type ToolErrorCode = 'PARAMETER_INVALID' | 'USER_INPUT_INCOMPLETE' | 'ASSET_NOT_FOUND' | 'WORKFLOW_VALIDATION_FAILED' | 'MODEL_UNAVAILABLE' | 'PROVIDER_TIMEOUT' | 'GPU_WORKER_FAILED' | 'COST_LIMIT_EXCEEDED' | 'SAFETY_REJECTED' | 'PERMISSION_REQUIRED' | 'USER_CANCELLED' | 'UNKNOWN_ERROR'; export type SkillErrorCategory = 'schema_validation' | 'user_input_incomplete' | 'asset_not_found' | 'workflow_validation' | 'model_unavailable' | 'timeout' | 'transient_failure' | 'insufficient_credits' | 'content_refused' | 'permission_required' | 'cancelled' | 'permanent_failure'; export interface ClassifiedSkillError { error_type: ToolErrorCode; category: SkillErrorCategory; message: string; retryable: boolean; } export declare function classifySkillError(error: unknown): ClassifiedSkillError; export interface SanitizationResult { cleaned: string; flagged: boolean; signals: string[]; } export interface PublicChatMessage { role: string; content?: unknown; tool_call_id?: string; [key: string]: unknown; } export interface SanitizeMessagesForLlmSignal { tool_call_id?: string; signals: string[]; } export declare function sanitizeToolMessageContent(input: string): SanitizationResult; export declare function wrapToolResultForLlm(content: string): string; export declare function sanitizeMessagesForLlm(messages: readonly T[], onSignal?: (entry: SanitizeMessagesForLlmSignal) => void): T[]; export declare const TOOL_RESULT_DELIMITERS: { readonly begin: "[[TOOL_RESULT_BEGIN]]"; readonly end: "[[TOOL_RESULT_END]]"; }; export type AssetType = 'image' | 'video' | 'audio'; export interface ParsedModelRef { index: number; type?: AssetType; } export interface ModelRefFormat { format(index: number, type: AssetType): string; parse(token: string): ParsedModelRef | null; scanRegex: RegExp; } export declare function getModelRefFormat(modelId: string): ModelRefFormat; export declare function formatModelRef(modelId: string, index: number, type: AssetType): string; export interface SkillManifest { id: string; name: string; description: string; toolNames: readonly string[]; constraints?: readonly string[]; alwaysLoaded?: boolean; } export declare const SESSION_CONTROL_SKILL: SkillManifest; export declare const ASSET_REFERENCE_MANAGEMENT_SKILL: SkillManifest; export declare const QUALITY_AUDIT_SKILL: SkillManifest; export declare const IMAGE_GENERATION_SKILL: SkillManifest; export declare const IMAGE_EDITING_SKILL: SkillManifest; export declare const VIDEO_GENERATION_SKILL: SkillManifest; export declare const VIDEO_EDITING_SKILL: SkillManifest; export declare const MUSIC_GENERATION_SKILL: SkillManifest; export declare const SPEECH_GENERATION_SKILL: SkillManifest; export declare const MEDIA_ANALYSIS_SKILL: SkillManifest; export declare const PERSONA_MANAGEMENT_SKILL: SkillManifest; export declare const APP_SETTINGS_SKILL: SkillManifest; export declare const COMPOSITION_PLANNING_SKILL: SkillManifest; export declare const ALL_BUILT_IN_SKILLS: readonly SkillManifest[]; export interface ToolResultAsset { asset_id: string; type: 'image' | 'video' | 'audio' | 'model'; url?: string; width?: number; height?: number; duration_seconds?: number; fps?: number; metadata?: Record; } export interface ToolResultCost { spark?: number; usd?: number; internal_cost_usd?: number; notes?: string; } export interface ToolResultOk> { ok: true; tool: string; job_id?: string; model_id?: string; workflow_id?: string; status: 'completed' | 'in_progress' | 'queued'; output_assets: ToolResultAsset[]; params?: TParams; estimated_cost?: ToolResultCost; warnings?: string[]; metadata?: Record; } export interface ToolResultErr { ok: false; tool: string; error_type: ToolErrorCode; message: string; retryable: boolean; suggested_next_action?: string; metadata?: Record; } export type ToolResult> = ToolResultOk | ToolResultErr; export declare function toolOk>(fields: Omit, 'ok' | 'status' | 'output_assets'> & Partial, 'status' | 'output_assets'>>): ToolResultOk; export declare function toolErr(fields: Omit): ToolResultErr; export declare function isToolResultOk>(result: ToolResult): result is ToolResultOk; export declare function isToolResultErr(result: ToolResult): result is ToolResultErr; export type PublicStoryboardAdapterStage = 'storyboard_image' | 'keyframe' | 'scene_clip'; export interface PublicStoryboardAdapterCompileInput { stage: PublicStoryboardAdapterStage; scene?: SceneSpec; primaryReferenceTag?: string; options?: Readonly>; } export interface PublicStoryboardAdapterCompileResult { prompt: string; args: Readonly>; stage: PublicStoryboardAdapterStage; } export interface PublicStoryboardAdapter { modelId: string; name: string; supportedStages: ReadonlyArray; compile(storyboard: StoryboardProject, input: PublicStoryboardAdapterCompileInput): PublicStoryboardAdapterCompileResult; getSystemPromptGuidance?: () => string | null; } export declare class StoryboardAdapterUnsupportedStageError extends Error { readonly modelId: string; readonly stage: PublicStoryboardAdapterStage; constructor(modelId: string, stage: PublicStoryboardAdapterStage); } export declare function composeAdapterPromptGuidance(adapters?: ReadonlyArray): string; export declare class SkillRegistry { private manifests; private loaded; register(manifest: SkillManifest): void; load(id: string): boolean; unload(id: string): boolean; getActiveToolNames(): string[]; getActiveSkills(): SkillManifest[]; } export interface StoryboardAdapterRegistryLike { getAdapter(modelId: string): PublicStoryboardAdapter | null; list(): PublicStoryboardAdapter[]; } export declare const storyboardAdapterRegistry: StoryboardAdapterRegistryLike; export declare function compileForModel(modelId: string, storyboard: StoryboardProject, input: PublicStoryboardAdapterCompileInput): PublicStoryboardAdapterCompileResult; export declare const SEEDANCE_STORYBOARD_REFERENCE_PROMPT: string; export declare const SEEDANCE_V2V_REFERENCE_MAX_DURATION_SECONDS = 15; export type ReferenceAudioFormat = 'mp3' | 'm4a' | 'wav' | 'ogg' | 'unknown'; export declare function normalizeReferenceAudioMimeType(mimeType?: string | null): string; export declare function detectReferenceAudioFormat(data: Uint8Array, mimeType?: string | null): ReferenceAudioFormat; export declare function shouldTrimSeedanceV2VSourceVideo({ sourceDurationSeconds, requestedDurationSeconds, startOffsetSeconds, maxDurationSeconds, }: { sourceDurationSeconds?: number | null; requestedDurationSeconds?: number | null; startOffsetSeconds?: number | null; maxDurationSeconds?: number; }): boolean; export declare const GPT_IMAGE_STORYBOARD_DEFAULTS: { readonly storyboardLandscape: { readonly width: 2560; readonly height: 1440; readonly aspectRatio: "2560x1440"; }; readonly storyboardPortrait: { readonly width: 1440; readonly height: 2560; readonly aspectRatio: "1440x2560"; }; }; export declare const DEFAULT_STORYBOARD_CANVAS_HINT_MARKER = "DEFAULT STORYBOARD PAGE LAYOUT:"; export declare const LTX23_WORKFLOW_MODELS: Readonly<{ t2v: string; i2v: string; ia2v: string; a2v: string; v2v: string; }>; export declare const LTX23_EROS_MODEL_ID = "ltx23-22b-10eros-v1.4-fp8mixed_i2v"; export declare const LTX23_DEV_WORKFLOW_MODELS: Readonly<{ t2v: string; i2v: string; ia2v: string; a2v: string; }>; export declare const LTX25_WORKFLOW_MODELS: Readonly<{ t2v: string; i2v: string; ia2v: string; a2v: string; v2v: string; }>; export declare const LTX25_DEV_WORKFLOW_MODELS: Readonly<{ t2v: string; i2v: string; ia2v: string; a2v: string; v2v: string; }>; export declare function resolveLtx25WorkflowModelForQuality(workflow: Ltx25Workflow, _qualityTier: string | null | undefined): string; export declare function resolveLtx23WorkflowModelForQuality(workflow: LtxWorkflow, qualityTier: string | null | undefined): string; export declare const SEEDANCE_WORKFLOW_MODELS: Readonly<{ t2v: "seedance-2-0"; t2vMini: "seedance-2-0-mini"; ia2v: "seedance-2-0"; v2v: "seedance-2-0"; t2v25: "seedance-2-5"; }>; export declare const HAPPYHORSE_WORKFLOW_MODELS: Readonly<{ t2v: "happyhorse-1.1-t2v"; i2v: "happyhorse-1.1-i2v"; r2v: "happyhorse-1.1-r2v"; }>; export declare const WAN3_WORKFLOW_MODEL = "wan3.0-video"; export declare const WAN3_ENHANCED_WORKFLOW_MODEL = "wan3.0-spicy-video"; export declare const VIDEO_MODEL_REGISTRY: Readonly<{ [LTX23_WORKFLOW_MODELS.t2v]: { workflow: "t2v"; family: "ltx23"; defaultWidth: number; defaultHeight: number; minDimension: number; maxDimension: number; dimensionMultiple: number; steps: number; guidance: number; fps: number; frameStep: number; minFrames: number; maxFrames: number; sampler: string; scheduler: string; supportsNativeAudio: true; }; [LTX23_WORKFLOW_MODELS.i2v]: { workflow: "i2v"; family: "ltx23"; defaultWidth: number; defaultHeight: number; minDimension: number; maxDimension: number; dimensionMultiple: number; steps: number; guidance: number; fps: number; frameStep: number; minFrames: number; maxFrames: number; sampler: string; scheduler: string; supportsNativeAudio: true; }; [LTX23_WORKFLOW_MODELS.ia2v]: { workflow: "ia2v"; family: "ltx23"; defaultWidth: number; defaultHeight: number; minDimension: number; maxDimension: number; dimensionMultiple: number; steps: number; guidance: number; fps: number; frameStep: number; minFrames: number; maxFrames: number; sampler: string; scheduler: string; }; [LTX23_WORKFLOW_MODELS.a2v]: { workflow: "a2v"; family: "ltx23"; defaultWidth: number; defaultHeight: number; minDimension: number; maxDimension: number; dimensionMultiple: number; steps: number; guidance: number; fps: number; frameStep: number; minFrames: number; maxFrames: number; sampler: string; scheduler: string; }; [LTX23_WORKFLOW_MODELS.v2v]: { workflow: "v2v"; family: "ltx23"; defaultWidth: number; defaultHeight: number; minDimension: number; maxDimension: number; dimensionMultiple: number; steps: number; guidance: number; fps: number; frameStep: number; minFrames: number; maxFrames: number; sampler: string; scheduler: string; }; "ltx23-22b-10eros-v1.4-fp8mixed_i2v": { workflow: "i2v"; family: "ltx23"; defaultWidth: number; defaultHeight: number; minDimension: number; maxDimension: number; dimensionMultiple: number; steps: number; guidance: number; fps: number; frameStep: number; minFrames: number; maxFrames: number; sampler: string; scheduler: string; supportsNativeAudio: true; minVramGB: number; requiresDisabledSafetyFilter: true; }; 'wan_v2.2-14b-fp8_t2v_lightx2v': { workflow: "t2v"; family: "wan22"; defaultWidth: number; defaultHeight: number; minDimension: number; maxDimension: number; maxPixels: number; dimensionMultiple: number; steps: number; guidance: number; fps: number; internalFps: number; frameStep: number; minFrames: number; maxFrames: number; sampler: string; scheduler: string; shift: number; }; 'wan_v2.2-14b-fp8_i2v_lightx2v': { workflow: "i2v"; family: "wan22"; defaultWidth: number; defaultHeight: number; minDimension: number; maxDimension: number; maxPixels: number; dimensionMultiple: number; steps: number; guidance: number; fps: number; internalFps: number; frameStep: number; minFrames: number; maxFrames: number; sampler: string; scheduler: string; shift: number; }; 'wan_v2.2-14b-fp8_s2v_lightx2v': { workflow: "s2v"; family: "wan22"; defaultWidth: number; defaultHeight: number; minDimension: number; maxDimension: number; maxPixels: number; dimensionMultiple: number; steps: number; guidance: number; fps: number; internalFps: number; frameStep: number; minFrames: number; maxFrames: number; sampler: string; scheduler: string; shift: number; }; 'wan_v2.2-14b-fp8_animate-move_lightx2v': { workflow: "animate-move"; family: "wan22"; defaultWidth: number; defaultHeight: number; minDimension: number; maxDimension: number; maxPixels: number; dimensionMultiple: number; steps: number; guidance: number; fps: number; internalFps: number; frameStep: number; minFrames: number; maxFrames: number; sampler: string; scheduler: string; shift: number; }; 'wan_v2.2-14b-fp8_animate-replace_lightx2v': { workflow: "animate-replace"; family: "wan22"; defaultWidth: number; defaultHeight: number; minDimension: number; maxDimension: number; maxPixels: number; dimensionMultiple: number; steps: number; guidance: number; fps: number; internalFps: number; frameStep: number; minFrames: number; maxFrames: number; sampler: string; scheduler: string; shift: number; }; "seedance-2-0": { workflow: "t2v"; family: "seedance2"; defaultWidth: number; defaultHeight: number; minDimension: number; maxDimension: number; dimensionMultiple: number; fps: number; frameStep: number; minFrames: number; maxFrames: number; supportsNativeAudio: true; }; "seedance-2-5": { workflow: "t2v"; family: "seedance2"; defaultWidth: number; defaultHeight: number; minDimension: number; maxDimension: number; dimensionMultiple: number; fps: number; frameStep: number; minFrames: number; maxFrames: number; supportsNativeAudio: true; }; "wan3.0-video": { workflow: "t2v"; family: "wan3"; defaultWidth: number; defaultHeight: number; minDimension: number; maxDimension: number; dimensionMultiple: number; fps: number; frameStep: number; minFrames: number; maxFrames: number; supportsNativeAudio: true; }; "wan3.0-spicy-video": { workflow: "t2v"; family: "wan3"; defaultWidth: number; defaultHeight: number; minDimension: number; maxDimension: number; dimensionMultiple: number; fps: number; frameStep: number; minFrames: number; maxFrames: number; supportsNativeAudio: true; }; }>; export declare const EXPANDED_VIDEO_MODEL_REGISTRY: Readonly>; export declare const VIDEO_WORKFLOW_DEFAULT_MODELS: Readonly<{ t2v: string; i2v: string; s2v: string; ia2v: string; a2v: string; 'animate-move': string; 'animate-replace': string; v2v: string; }>; export declare const VIDEO_MODEL_ALIASES: Readonly>; export declare const QUALITY_TIERS: Readonly<{ fast: { model: string; steps: number; shortSide: null; video: { steps: number; shortSide: null; }; }; hq: { model: string; steps: null; shortSide: number; video: { steps: number; shortSide: number; }; }; pro: { model: string; steps: number; shortSide: number; video: { steps: number; shortSide: number; }; }; }>; export declare const IMAGE_MODEL_DEFAULTS: Readonly>; export declare const IMAGE_MODEL_ALIASES: Readonly>; export declare function isLtx2Model(modelId: string | null | undefined): boolean; export declare function isWanModel(modelId: string | null | undefined): boolean; export declare function isSeedanceModel(modelId: string | null | undefined): boolean; export declare function isHappyHorseModel(modelId: string | null | undefined): boolean; export declare function isWan3Model(modelId: string | null | undefined): boolean; export declare function resolveVideoControlNetStrength(name: string | null | undefined, explicitStrength: number | null | undefined): number; export declare function resolveVideoModelAlias(modelId: string | null | undefined, workflow?: SkillVideoWorkflow | null): string | null | undefined; export declare function resolveImageModelAlias(modelId: string | null | undefined): string | null | undefined; export declare function getBuiltinVideoModelConfig(modelId: string | null | undefined): SkillVideoModelConfig | null; export declare function getBuiltinImageModelDefaults(modelId: string | null | undefined): SkillModelDefaults | null; export declare function normalizeVideoWorkflow(value: string | null | undefined): SkillVideoWorkflow | null; export declare function inferVideoWorkflowFromModel(modelId: string | null | undefined): SkillVideoWorkflow | null; export declare function promptExplicitlyDisablesSpeech(prompt: string | null | undefined): boolean; export declare function containsQuotedDialogue(prompt: string | null | undefined): boolean; export declare function promptMentionsSpeech(prompt: string | null | undefined): boolean; export declare function promptMentionsAudio(prompt: string | null | undefined): boolean; export declare function promptLooksLikeLongFormStory(prompt: string | null | undefined): boolean; export declare function promptLooksLikeLipSync(prompt: string | null | undefined): boolean; export declare function promptNeedsLtxNativeAudio(prompt: string | null | undefined): boolean; export declare function normalizeScreenplayDialogueQuotes(prompt: string): string; export declare function normalizeScreenplayDialogueQuotes(prompt: null | undefined): null | undefined; export declare function extractQuotedDialogueSegments(prompt: string | null | undefined): string[]; export declare function countWords(text: string | null | undefined): number; export declare function quotedDialogueWordCount(prompt: string | null | undefined): number; export declare function suggestedDurationForDialogue(prompt: string | null | undefined, currentDuration: number | undefined): number; export declare function formatAudioIdPrompt(prompt: string, voiceName?: string | null): string; export declare function formatAudioIdPrompt(prompt: null | undefined, voiceName?: string | null): null | undefined; export declare function getVideoPromptGuardrailPlan({ prompt, duration, frames, fps, durationExplicit, referenceAudioIdentity, voiceName }?: VideoPromptGuardrailInput): VideoPromptGuardrailPlan; export declare function inferVideoWorkflowFromAssets(opts?: InferVideoWorkflowAssetsInput): SkillVideoWorkflow | null; export declare function workflowRequiresImage(workflow: SkillVideoWorkflow | null | undefined): boolean; export declare function getModelDefaults(modelId: string | null | undefined, config?: SkillRuntimeConfig | null): SkillModelDefaults | null; export declare function selectDefaultVideoModel(workflow: SkillVideoWorkflow | null | undefined, opts?: { prompt?: string | null; quality?: string | null; referenceAudioIdentity?: unknown; }, config?: SkillRuntimeConfig | null): string | null; export declare function dimensionsWithShortSide(width: number, height: number, shortSide: number): { width: number; height: number; }; export declare function inferNamedVideoResolutionShortSideFromText(text: string): number | null; export declare function inferRequestedVideoResolutionShortSideFromText(text: string): number | null; export declare function inferExplicitPixelDimensionsFromText(text: string): ExplicitPixelDimensions | null; export declare function inferExplicitAspectRatioFromText(text: string): ExplicitAspectRatio | null; export declare function inferRequestedTotalVideoDurationSeconds(text: string): number | null; export declare function textProvidesLiteralVideoPrompt(text: string): boolean; export declare function extractLiteralVideoPrompt(text: string): string | null; export declare function textMentionsStoryboardReference(text: string): boolean; export declare function textExplicitlyRequestsSeedanceFastModel(text: string): boolean; export declare function textExplicitlyRequestsNonSeedanceVideoModel(text: string): boolean; export declare function textTreatsAudioAsLooseReference(text: string): boolean; export declare function textRequestsPrimaryAudioSyncVideo(text: string): boolean; export declare function seedanceRequestUsesStoryboardReferenceForModelDefault(input: SeedanceStoryboardReferenceModelDefaultInput): boolean; export declare function textProvidesVideoScriptOrDetailedPrompt(text: string): boolean; export declare function seedanceStoryboardFallbackAllowedForText(text: string): boolean; export declare function seedanceStoryboardReferenceFallbackAllowedForVisualDetection(text: string): boolean; export declare function textRequestsProfessionalCharacterSheetImage(text: string): boolean; export declare function textRequestsSingleCompositeImageOutput(text: string): boolean; export declare function textRequestsDirectMediaAfterPreproduction(text: string): boolean; export declare function textRequestsPreproductionScriptStage(text: string): boolean; export declare function planSeedanceStoryboardFallback(input: SeedanceStoryboardFallbackInput): SeedanceStoryboardFallbackPlan | null; export declare function dimensionsForAspectRatio(width: number, height: number, aspectRatio: string): { width: number; height: number; } | null; export declare function isSeedanceModelSelection(modelId: string | null | undefined): boolean; export declare function isHappyHorseModelSelection(modelId: string | null | undefined): boolean; export declare function isWan3ModelSelection(modelId: string | null | undefined): boolean; export declare function planCliVideoBrain(input: SkillCliVideoBrainInput): SkillCliVideoBrainPlan; export type StoryboardLayoutKind = 'landscape_grid' | 'portrait_grid' | 'portrait_letterbox_cells' | 'landscape_portrait_cells'; export interface StoryboardLayoutSpec { boardAspectRatio: string; cellAspectRatio: string; targetVideoAspectRatio: string; layoutKind: StoryboardLayoutKind; layoutDescription: string; boardDimensions?: string; } export declare const STORYBOARD_PLANNING_CONTRACT_SCHEMA_VERSION: "storyboard-planning-contract/v1"; export type StoryboardPlanningSource = 'llm_schema' | 'assistant_metadata' | 'user_schema' | 'fallback_text'; export interface StoryboardLayoutPlanningContract { storyboardCanvasAspectRatio?: string; storyboardCellAspectRatio?: string; targetVideoAspectRatio?: string; boardDimensions?: string; storyboardCanvasSpecifiedByUser?: boolean; source?: StoryboardPlanningSource; } export interface StoryboardScenePlanningContract { id?: string; index?: number; visibleText?: string[]; metadataLabels?: string[]; referenceUsage?: string[]; } export interface StoryboardTextPlanningContract { visibleText?: string[]; metadataLabels?: string[]; } export interface StoryboardPlanningContract { schemaVersion?: typeof STORYBOARD_PLANNING_CONTRACT_SCHEMA_VERSION | string; source?: StoryboardPlanningSource; layout?: StoryboardLayoutPlanningContract; scenes?: StoryboardScenePlanningContract[]; endCard?: StoryboardTextPlanningContract; metadataLabels?: string[]; } export declare const STORYBOARD_PLANNING_CONTRACT_JSON_SCHEMA: { readonly type: "object"; readonly additionalProperties: false; readonly properties: { readonly schemaVersion: { readonly type: "string"; readonly const: "storyboard-planning-contract/v1"; }; readonly source: { readonly type: "string"; readonly enum: readonly ["llm_schema", "assistant_metadata", "user_schema", "fallback_text"]; }; readonly layout: { readonly type: "object"; readonly additionalProperties: false; readonly properties: { readonly source: { readonly type: "string"; readonly enum: readonly ["llm_schema", "assistant_metadata", "user_schema", "fallback_text"]; }; readonly storyboardCanvasAspectRatio: { readonly type: "string"; }; readonly storyboardCellAspectRatio: { readonly type: "string"; }; readonly targetVideoAspectRatio: { readonly type: "string"; }; readonly boardDimensions: { readonly type: "string"; }; readonly storyboardCanvasSpecifiedByUser: { readonly type: "boolean"; }; }; readonly required: readonly ["source", "storyboardCanvasAspectRatio", "storyboardCellAspectRatio", "targetVideoAspectRatio", "boardDimensions", "storyboardCanvasSpecifiedByUser"]; }; readonly scenes: { readonly type: "array"; readonly items: { readonly type: "object"; readonly additionalProperties: false; readonly properties: { readonly id: { readonly type: "string"; }; readonly index: { readonly type: "integer"; readonly minimum: 1; readonly maximum: 24; }; readonly visibleText: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; readonly metadataLabels: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; readonly referenceUsage: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; }; readonly required: readonly ["id", "index", "visibleText", "metadataLabels", "referenceUsage"]; }; }; readonly endCard: { readonly type: "object"; readonly additionalProperties: false; readonly properties: { readonly visibleText: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; readonly metadataLabels: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; }; readonly required: readonly ["visibleText", "metadataLabels"]; }; readonly metadataLabels: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; }; readonly required: readonly ["schemaVersion", "source", "layout", "scenes", "endCard", "metadataLabels"]; }; export declare function buildStoryboardPlanningResponseFormat(name?: string): { readonly type: "json_schema"; readonly json_schema: { readonly name: string; readonly strict: true; readonly schema: { readonly type: "object"; readonly additionalProperties: false; readonly properties: { readonly notes: { readonly type: "string"; }; readonly storyboardPlanningContract: { readonly type: "object"; readonly additionalProperties: false; readonly properties: { readonly schemaVersion: { readonly type: "string"; readonly const: "storyboard-planning-contract/v1"; }; readonly source: { readonly type: "string"; readonly enum: readonly ["llm_schema", "assistant_metadata", "user_schema", "fallback_text"]; }; readonly layout: { readonly type: "object"; readonly additionalProperties: false; readonly properties: { readonly source: { readonly type: "string"; readonly enum: readonly ["llm_schema", "assistant_metadata", "user_schema", "fallback_text"]; }; readonly storyboardCanvasAspectRatio: { readonly type: "string"; }; readonly storyboardCellAspectRatio: { readonly type: "string"; }; readonly targetVideoAspectRatio: { readonly type: "string"; }; readonly boardDimensions: { readonly type: "string"; }; readonly storyboardCanvasSpecifiedByUser: { readonly type: "boolean"; }; }; readonly required: readonly ["source", "storyboardCanvasAspectRatio", "storyboardCellAspectRatio", "targetVideoAspectRatio", "boardDimensions", "storyboardCanvasSpecifiedByUser"]; }; readonly scenes: { readonly type: "array"; readonly items: { readonly type: "object"; readonly additionalProperties: false; readonly properties: { readonly id: { readonly type: "string"; }; readonly index: { readonly type: "integer"; readonly minimum: 1; readonly maximum: 24; }; readonly visibleText: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; readonly metadataLabels: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; readonly referenceUsage: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; }; readonly required: readonly ["id", "index", "visibleText", "metadataLabels", "referenceUsage"]; }; }; readonly endCard: { readonly type: "object"; readonly additionalProperties: false; readonly properties: { readonly visibleText: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; readonly metadataLabels: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; }; readonly required: readonly ["visibleText", "metadataLabels"]; }; readonly metadataLabels: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; }; readonly required: readonly ["schemaVersion", "source", "layout", "scenes", "endCard", "metadataLabels"]; }; }; readonly required: readonly ["notes", "storyboardPlanningContract"]; }; }; }; export interface StoryboardPromptCompileOptions { prompt: string; userIntentText: string; frameCount: number; approvedScriptContext?: string | null; promptAuthorship?: 'user' | 'assistant'; planningContract?: StoryboardPlanningContract | null; } export interface StoryboardHostedWorkflowDependency { sourceStepId: string; targetArgument: string; transform: 'artifact_url' | 'artifact_data_uri' | 'image_url' | 'video_url' | 'audio_url' | 'image_index' | 'video_index' | 'audio_index' | 'subtitle_cues' | 'subtitle_srt' | 'overlay_items' | 'asset_ref'; sourceArtifactIndex?: number; mediaType?: 'image' | 'video' | 'audio' | 'model'; required?: boolean; } export interface StoryboardHostedWorkflowStep { id: string; toolName: string; arguments: Record; dependsOn?: StoryboardHostedWorkflowDependency[]; } export interface StoryboardHostedWorkflowInput { title: string; steps: StoryboardHostedWorkflowStep[]; } export interface SeedanceStoryboardPromptFromProjectOptions { storyboardImageTag?: string; durationSec?: number | null; aspectRatio?: string | null; } export interface StoryboardVideoHostedWorkflowBuildOptions { storyline: string; userIntentText: string; title?: string; frameCount?: number; imageModel?: string; imageQuality?: 'low' | 'medium' | 'high' | 'xhigh' | 'max'; imageOutputFormat?: 'png' | 'jpg' | 'jpeg' | 'webp'; imageWidth?: number; imageHeight?: number; videoModel?: 'seedance2' | 'seedance2-mini' | 'seedance2-5' | string; videoDurationSec?: number; videoTargetResolution?: number; generateAudio?: boolean; } export interface StoryboardVideoHostedWorkflowPlan { title: string; frameCount: number; storyline: string; storyboardProject: StoryboardProject; storyboardImagePrompt: string; seedanceVideoPrompt: string; image: { width: number; height: number; model: string; quality: string; outputFormat: string; }; video: { width: number; height: number; duration: number; model: string; generateAudio: boolean; }; input: StoryboardHostedWorkflowInput; warnings: string[]; } export declare const STORYBOARD_DEFAULT_MIN_FRAMES = 6; export declare const STORYBOARD_DEFAULT_MAX_FRAMES = 16; export type StoryboardReferenceKind = 'character' | 'logo' | 'product' | 'style' | 'background' | 'other'; export type StoryboardUsageScope = 'global' | 'specific_scenes' | 'end_card_only'; export type StoryboardPreservePriority = 'critical' | 'high' | 'medium'; export interface ReferenceAsset { id: string; index?: number; kind: StoryboardReferenceKind; description: string; usageScope: StoryboardUsageScope; preservePriority: StoryboardPreservePriority; } export interface VoiceLine { text: string; sceneId: string; startSec: number | null; endSec: number | null; delivery: string; priority: 'required' | 'optional'; } export interface SceneSpec { id: string; title: string; startSec: number | null; endSec: number | null; durationSec: number | null; purpose: string; productFeature: string; visual: string; action: string; camera: string; lighting: string; transitionIn: string; transitionOut: string; dialogue: string; audioSfx: string[]; music: string; referenceUsage: string[]; textInImage: string[]; metadataLabels?: string[]; mustAvoid: string[]; } export interface StoryboardProject { title: string; sourceProvenance: 'user' | 'approved_assistant' | 'assistant_draft'; parsedSectionCount?: number; durationSec: number | null; outputAspectRatio: string; frameAspectRatio: string; targetVideoAspectRatio: string; boardDimensions?: string; boardLayout: StoryboardLayoutKind; layoutSource?: StoryboardPlanningSource; planningContract?: StoryboardPlanningContract; metadataLabels?: string[]; intendedUse: string; references: ReferenceAsset[]; creativeBrief: { concept: string; storySpine: string; toneProgression: string[]; productFeatureMap: string[]; mustInclude: string[]; mustAvoid: string[]; brandRules: string[]; visualQualityBar: string; }; voiceover: { fullScript: string; lines: VoiceLine[]; }; scenes: SceneSpec[]; endCard: { requiredText: string[]; logoUsage: string; backgroundStyle: string; composition: string; }; } export interface StoryboardTimingRules { normalWordsPerSecondMin: number; normalWordsPerSecondMax: number; fastWordsPerSecondMax: number; minEndCardHoldSec: number; minPunchlineSec: number; toleranceSec: number; } export interface StoryboardTimingIssue { severity: 'error' | 'warning'; code: string; message: string; sceneId?: string; repair?: string; } export interface StoryboardTimingValidationResult { ok: boolean; issues: StoryboardTimingIssue[]; totalSceneDurationSec: number | null; timedSceneCount: number; } export interface StoryboardPromptLintResult { ok: boolean; errors: string[]; warnings: string[]; } export interface StoryboardCompiledPromptAuditIssue { code: string; message: string; field?: string; metadata?: Record; } export interface StoryboardCompiledPromptAuditResult { ok: boolean; fatalIssues: StoryboardCompiledPromptAuditIssue[]; warnings: StoryboardCompiledPromptAuditIssue[]; } export interface StoryboardCompiledPromptAuditOptions { prompt: string; sourceText?: string | null; expectedFrameCount?: number | null; expectedDurationSec?: number | null; } export interface BalancedStoryboardGrid { cols: number; rows: number; boardAspectRatio: string; width: number; height: number; boardDimensions: string; } export declare function chooseBalancedStoryboardGrid(frameCount: number, cellAspectRatio: string): BalancedStoryboardGrid; export declare function inferStoryboardLayoutSpec(userIntentText: string, frameCount: number, planningContract?: StoryboardPlanningContract | null, geometryAuthorityText?: string): StoryboardLayoutSpec; export declare function inferExplicitStoryboardFrameCountFromText(text: string): number | null; export declare function inferStoryboardFrameCountFromScriptText(text: string | null | undefined): number | null; export declare function inferDefaultStoryboardFrameCountFromText(text: string): number; export declare function buildStoryboardProject(options: StoryboardPromptCompileOptions): StoryboardProject; export declare function validateStoryboardProjectTiming(project: StoryboardProject, rules?: StoryboardTimingRules): StoryboardTimingValidationResult; export declare function compileVideoStoryboardImagePrompt(options: StoryboardPromptCompileOptions): string; export declare function ensureCompiledVideoStoryboardPromptPreservesSourceBrief(compiledPrompt: string, userIntentText: string, approvedScriptContext?: string | null): string; export declare function lintStoryboardImagePrompt(prompt: string, layout: StoryboardLayoutSpec, project?: StoryboardProject): StoryboardPromptLintResult; export declare function auditCompiledStoryboardImagePrompt(options: StoryboardCompiledPromptAuditOptions): StoryboardCompiledPromptAuditResult; export declare function stripGeneratedStoryboardLayoutHints(text: string): string; export declare function inferExplicitStoryboardCanvasPixelDimensions(text: string): ExplicitPixelDimensions | null; export declare function userDefinedStoryboardCanvas(text: string): boolean; export declare function maskNonCanvasExactPixelDimensionsForStoryboard(text: string): string; export declare function applyDefaultStoryboardCanvasHint(text: string, frameCount: number): string; export declare function buildStoryboardCanvasArgs(boardAspectRatio: string, isGptImage2: boolean, boardDimensions?: string): { width?: number; height?: number; aspectRatio: string; }; export declare function defaultStoryboardImageDimensions(layout: StoryboardLayoutSpec): ExplicitPixelDimensions; export declare function compileSeedanceStoryboardPromptFromProject(project: StoryboardProject, options?: SeedanceStoryboardPromptFromProjectOptions): string; export declare function lintSeedanceStoryboardPromptFromProject(prompt: string, project: StoryboardProject): StoryboardPromptLintResult; export declare function buildStoryboardVideoHostedToolSequenceInput(options: StoryboardVideoHostedWorkflowBuildOptions): StoryboardVideoHostedWorkflowPlan; export declare function inferDefaultVideoSteps(modelId: string | null | undefined): number | undefined; export declare function resolveVideoSteps(modelId: string | null | undefined, modelDefaults: SkillModelDefaults | null | undefined, explicitSteps: number | null | undefined): number | undefined; export declare function sanitizeBatchPrompt(prompt: string): string; export {}; //# sourceMappingURL=index.d.ts.map