import { type Template, type TemplateStorage } from '@lit-pigeon/core'; export interface FsTemplateStorageOptions { /** * Directory in which template JSON files live. * Defaults to `~/.lit-pigeon/templates`. */ dir?: string; /** * When true (default), seed the directory with the built-in starter templates * — but only if the directory is empty. Existing user files are never * overwritten. */ includeStarters?: boolean; /** * Additional templates to seed alongside the starters (also only when the * directory is empty). */ seed?: Template[]; } /** * Filesystem-backed `TemplateStorage` — one JSON file per template under a * configurable directory (default `~/.lit-pigeon/templates`). * * Designed to be drop-in compatible with `InMemoryTemplateStorage`, so the * MCP server can persist user-saved templates across restarts. */ export declare class FsTemplateStorage implements TemplateStorage { readonly dir: string; private readonly includeStarters; private readonly initialSeed; /** Promise that resolves once the (lazy) initial seeding has completed. */ private seedPromise; constructor(opts?: FsTemplateStorageOptions); /** * Ensure the directory exists and, if empty, drop the starter templates in. * Idempotent and lazy — runs once per instance, on the first mutating or * reading call. Re-entrant: subsequent calls await the same promise. */ private ensureSeeded; private filePath; private writeFile; private readFile; list(): Promise; get(id: string): Promise