/**
 * @module _shared/timeline-project
 *
 * Shared action logic for `vibe timeline create/info/set` (and the
 * deprecated `vibe project create/info/set` alias). Extracted so both
 * surfaces call the same code path — the only difference is which
 * default filename `create` writes to:
 *
 * - `vibe timeline create` → `timeline.json` (canonical)
 * - `vibe project create`  → `project.vibe.json` (legacy, deprecated)
 *
 * Read-side commands (`info`, `set`) use `resolveTimelineFile` which
 * accepts both filenames. Existing `*.vibe.json` files keep working
 * forever; only the on-disk filename for *new* creates differs.
 */
import { TIMELINE_FILENAME, LEGACY_TIMELINE_FILENAME } from "../../utils/project-resolver.js";
export { TIMELINE_FILENAME, LEGACY_TIMELINE_FILENAME };
export interface TimelineCreateOptions {
    output?: string;
    ratio?: string;
    fps?: string;
    dryRun?: boolean;
}
export interface TimelineSetOptions {
    name?: string;
    ratio?: string;
    fps?: string;
    dryRun?: boolean;
}
export declare function executeTimelineCreate(name: string, options: TimelineCreateOptions, commandName: string, startedAt: number, defaultFilename?: string, createDirectoryByDefault?: boolean): Promise<void>;
export declare function executeTimelineInfo(file: string, commandName: string, startedAt: number): Promise<void>;
export declare function executeTimelineSet(file: string, options: TimelineSetOptions, commandName: string, startedAt: number): Promise<void>;
