/**
 * Seed / extend the generic `plan` entity schema.
 *
 * Plans are first-class Neotoma rows that capture three categories of work:
 *   1. Harness-authored plans — markdown files written by Cursor
 *      (`.cursor/plans/<slug>_<hex>.plan.md`), Claude Code, Codex, OpenClaw,
 *      etc. Frontmatter (`name`, `overview`, `todos`, `isProject`) plus the
 *      markdown body is preserved verbatim.
 *   2. Issue-resolution plans — emitted by the `process-issues` skill when
 *      it analyzes an open `issue` and proposes a fix; carry reproduction
 *      environment fields and link back to the source `issue`.
 *   3. Skill / agent ad-hoc plans — anything an agent sketches in a turn
 *      worth keeping (refactor outlines, research notes, `neotoma_repair`
 *      payloads).
 *
 * Identity rules let the same schema cover all three: harness plans dedupe
 * per `(harness, harness_plan_id)`, issue plans dedupe per
 * `(source_entity_id, title)`, and `slug` / `title` are fallbacks.
 *
 * Registered as a GLOBAL schema (user_specific: false). Idempotent boot-time
 * registration — safe to call on every server start.
 */
import type { FieldDefinition, SchemaRegistryEntry } from "../schema_registry.js";
import { SchemaRegistryService } from "../schema_registry.js";
export declare const PLAN_ENTITY_TYPE = "plan";
/**
 * Ensure the global `plan` schema exists and has every field required by
 * harness-plan capture, the process-issues skill, and ad-hoc plan stores.
 * Safe to call multiple times.
 */
export declare function seedPlanSchema(options?: {
    registry?: SchemaRegistryService;
}): Promise<SchemaRegistryEntry>;
export declare const PLAN_FIELD_SPECS: ReadonlyArray<{
    name: string;
    type: FieldDefinition["type"];
    required?: boolean;
    reducer?: "last_write" | "highest_priority" | "most_specific" | "merge_array";
    description?: string;
}>;
//# sourceMappingURL=seed_schema.d.ts.map