/** * Idea Sync * Synchronises idea YAML files to the `ideas` database table via MCPClient. */ import type { MCPClient } from '../core/database.js'; import type { IdeaEntry } from '../types/novel.js'; /** Upserts idea YAML files into the `ideas` table. */ export declare class IdeaSync { private mcpClient; private projectId; constructor(mcpClient: MCPClient, projectId: number); /** * Upsert a single idea into the database. * Inserts if the idea_key does not yet exist for this project; updates otherwise. * * @param idea - The `IdeaEntry` to persist */ syncIdea(idea: IdeaEntry): Promise; /** * Sync all `.yml` files found in `ideasDir` to the database. * * @param ideasDir - Absolute path to the directory containing idea YAML files * @returns Number of ideas synced */ syncAllFromDirectory(ideasDir: string): Promise; /** * Retrieve ideas for this project directly from the database. * * @param status - Optional status filter ('active' | 'used' | 'discarded') * @returns Array of `IdeaEntry` objects ordered newest-first */ listFromDb(status?: string): Promise; } //# sourceMappingURL=idea-sync.d.ts.map