import type { SeriesState, MiniDramaCharacter, EpisodeMeta, EpisodeScript, Location } from './types.js'; import { type AudioStrategy, type VideoFamilyPreference } from './types.js'; export interface CreateSeriesOptions { /** Upfront questionnaire: how dialogue reaches the final mix. */ audioStrategy?: AudioStrategy; /** Upfront questionnaire: preferred video model family. */ videoFamilyPreference?: VideoFamilyPreference; /** * Upfront questionnaire: the render route. * - `true` → montage route (advanced/editor): one single-pass generation * per scene, auto-cut into a media library for later editing. * - `false` → standard route (beginner): 2.0-era per-shot / short * multi-shot planning, more automated but more drift-prone. * - unset → the harness default (montage-first, `resolveMontageMode`). */ montageMode?: boolean; /** Upfront questionnaire: the reasoning model behind the project. */ intelligenceModel?: string; /** Directory that contains every series project. */ workspace?: string; /** Broad standalone-CLI creation type. */ projectType?: 'film' | 'series' | 'product-video' | 'music-video' | 'screenplay'; } export declare function createSeries(name: string, concept: string, genre: string, setting: string, options?: CreateSeriesOptions): SeriesState; /** * Read every `characters/*\/character.json` on disk and return the resulting * array. This is the authoritative source of truth — the in-memory * `series.characters` is allowed to drift (commands sometimes mutate it * accidentally), but the per-character JSON files are written once by * `add-character` and only changed by explicit user action. * * Returns an empty array when the characters/ directory doesn't exist yet. */ export declare function loadCharactersFromDisk(outputDir: string): Promise; export declare function saveSeries(series: SeriesState): Promise; export declare function loadSeries(outputDir: string): Promise; export declare function listSeries(workspace?: string): Promise<{ name: string; slug: string; dir: string; }[]>; export declare function addCharacter(series: SeriesState, character: MiniDramaCharacter): void; export declare function getCharacter(series: SeriesState, name: string): MiniDramaCharacter | undefined; export declare function addEpisode(series: SeriesState, title: string): EpisodeMeta; export declare function getEpisodeDir(series: SeriesState, episodeNumber: number): string; export declare function getCharacterDir(series: SeriesState, characterName: string): string; /** * Directory for a location's reference assets, mirroring getCharacterDir. * Accepts a slug or a display name; slugifies to find the canonical dir and * falls back to the raw name for directories created outside the CLI. */ export declare function getLocationDir(series: SeriesState, locationSlugOrName: string): string; export declare function locationSlugify(name: string): string; /** * Directory for composed storyboard blocking plates (StoryboardReference). * Plates are series-level assets keyed by slug — slugs are conventionally * prefixed with the episode (e.g. "e01-courtyard-chalice-fight") so beats * from different episodes never collide. */ export declare function getStoryboardDir(series: SeriesState): string; /** * Absolute path to a storyboard blocking plate by slug. Returns the first * existing candidate (slugified, then raw name — mirroring getLocationDir's * tolerance for files created outside the CLI), falling back to the * canonical slugified path (the write target) when none exists yet. * Callers deciding whether to USE the plate should existsSync() the result. */ export declare function getStoryboardRefPath(series: SeriesState, slug: string): string; /** Find a location by slug (preferred) or display name. */ export declare function getLocation(series: SeriesState, slugOrName: string): Location | undefined; /** Insert or replace a location by slug. */ export declare function addLocation(series: SeriesState, location: Location): void; export declare function saveEpisodeScript(series: SeriesState, script: EpisodeScript): Promise; export declare function loadEpisodeScript(series: SeriesState, episodeNumber: number): Promise; //# sourceMappingURL=manager.d.ts.map