import type { SeoDraft } from "./draft-types.js"; /** One `SeoBuildRunner.run` invocation's persisted output, keyed by `reportId`. */ export type SeoDraftBundle = { reportId: string; target: string; /** = the injected `now`, never `Date.now()`. */ generatedAt: string; drafts: SeoDraft[]; skipped: number; }; export declare class SeoDraftStore { /** * Write `bundle` atomically (temp file + POSIX-atomic rename) under * `.bober/seo/drafts/`. Overwrites any existing bundle with the same * `reportId`. Throws on an unrecoverable fs failure — callers (the build * runner) are expected to catch and fail closed. */ save(projectRoot: string, bundle: SeoDraftBundle): Promise; /** * Read a persisted `SeoDraftBundle` by `reportId`. Returns `null` on a * missing file — NEVER throws (mirrors `SeoReportStore.read`). */ read(projectRoot: string, reportId: string): Promise; /** * List all persisted draft-bundle reportIds, sorted by filename. Returns * `[]` if the drafts directory does not exist — never throws. */ list(projectRoot: string): Promise; } //# sourceMappingURL=draft-store.d.ts.map