import { type Beat } from "./storyboard-parse.js";
export declare const STORYBOARD_CUE_KEYS: readonly ["duration", "narration", "backdrop", "video", "motion", "voice", "music", "asset"];
export type StoryboardCueKey = (typeof STORYBOARD_CUE_KEYS)[number];
export interface StoryboardValidationIssue {
    severity: "error" | "warning";
    code: string;
    message: string;
    beatId?: string;
}
export interface StoryboardValidationResult {
    ok: boolean;
    beats: Beat[];
    issues: StoryboardValidationIssue[];
}
/** Beats beyond this render as static, overstuffed scenes. */
export declare const MAX_RECOMMENDED_BEAT_SEC = 15;
export declare function validateStoryboardMarkdown(markdown: string): StoryboardValidationResult;
export declare function getStoryboardBeat(markdown: string, beatId: string): Beat | null;
export declare function setStoryboardCue(markdown: string, opts: {
    beatId: string;
    key: string;
    value?: unknown;
    unset?: boolean;
}): string;
export declare function moveStoryboardBeat(markdown: string, opts: {
    beatId: string;
    afterBeatId: string;
}): string;
