import { type Flags } from "./cli.js"; /** * Commands that write a draft (or CapCut's index) on disk. They run the * "CapCut is open" preflight so the CLI never silently loses edits to CapCut's * on-close overwrite. Covers every in-place `saveDraft` caller plus `register` * (rewrites root_meta_info.json — the file CapCut itself overwrites on close). * Read-only commands and `init` (creates a brand-new draft, no open-draft * conflict) are intentionally absent. */ export declare const WRITE_COMMANDS: Set; /** * A "process lister": returns the raw process-listing text, or `null` when it * couldn't be obtained (command missing / spawn error). `null` is treated as * "unknown → not running" (fail-open) so CI — and any host without * tasklist/pgrep — never blocks. Injectable for testing. */ export type ProcessLister = () => string | null; /** True when the process listing names CapCut. Fail-open (false) on unknown. */ export declare function isCapCutRunning(lister?: ProcessLister): boolean; /** * Refuse to write while CapCut is open. CapCut holds draft_content.json in * memory and rewrites it on close, silently discarding CLI edits. Bypass with * `--force` or the CAPCUT_DAVID_FORCE env var (used by automation/tests). */ export declare function assertCapCutClosed(flags: Flags, lister?: ProcessLister): void;