export type Mode = "generate" | "check" | "inject" | "update"; export interface RawOptions { projectJsonPath: string; mode?: Mode; generatedMermaidPath?: string; markdownPath?: string; debug?: boolean; } export interface NormalizedOptions { projectJsonPath: string; mode: Mode; generatedMermaidPath?: string; markdownPath?: string; debug?: boolean; } export type ExecutionContext = { success: true; options: NormalizedOptions; project?: unknown; } | { success: false; }; /** * Verifies that all options that are needed for the specified run mode are present (via call to normalizeOptions), * then for file paths, makes sure the files exist where they are required. Finally, loads project.json if needed * (which it is not in the case of Inject mode -- where we are simply injecting a pre-generated mermaid graph * into our Markdown file.) */ export declare function resolveExecutionContext(rawOptions: RawOptions): ExecutionContext; /** * Verifies that user has specified all options needed for the desired run mode. * No file existence checks at this point. */ export declare function normalizeOptions(raw: RawOptions): NormalizedOptions;