/** * Save and load reusable workflow commands. */ export interface SavedWorkflowDefinition { /** Command name (filename without extension). */ name: string; /** Human-readable description. */ description: string; /** The workflow script. */ script: string; /** Optional parameter schema for parameterized workflows. */ parameters?: Record; } export interface SavedWorkflow extends SavedWorkflowDefinition { /** Where this workflow comes from. */ location: "project" | "user" | "bundled"; /** Full file path, or a bundled: URI for package defaults. */ path: string; /** When it was saved, or "bundled" for package defaults. */ savedAt: string; } export interface WorkflowStorage { /** Save a project or user override. */ save(workflow: SavedWorkflowDefinition, location?: "project" | "user"): SavedWorkflow; /** Load a workflow by name. */ load(name: string): SavedWorkflow | null; /** List all saved workflows. */ list(): SavedWorkflow[]; /** Delete a saved workflow. */ delete(name: string, location?: "project" | "user"): boolean; } export declare function isSafeSavedWorkflowName(name: string): boolean; export declare function assertSafeSavedWorkflowName(name: string): void; export declare function createWorkflowStorage(cwd: string, bundledWorkflows?: readonly SavedWorkflowDefinition[]): WorkflowStorage;