/**
 * Seed / extend the global `neotoma_feedback` entity schema.
 *
 * Called once per install (or idempotently on server start) so the Neotoma
 * entity graph has a typed home for records mirrored from the
 * agent.neotoma.io pipeline. The fields mirror the shape documented in
 * docs/subsystems/feedback_neotoma_forwarder.md and the Netlify-side
 * `StoredFeedback` interface.
 *
 * Design notes:
 *   - Registered as a GLOBAL schema (scope="global") because neotoma_feedback
 *     rows are produced by an ambient pipeline agent, not per-user workflows.
 *   - `schema-version` follows the `<major>.<minor>` scheme used by the
 *     registry. Adding optional fields later goes through
 *     `SchemaRegistryService.updateSchemaIncremental` which bumps minor.
 *   - Idempotent: if an active schema already exists, the seeder uses
 *     `updateSchemaIncremental` with `fields_to_add` only. Existing fields
 *     are skipped by the registry.
 */
import type { FieldDefinition, SchemaRegistryEntry } from "../schema_registry.js";
import { SchemaRegistryService } from "../schema_registry.js";
export declare const NEOTOMA_FEEDBACK_ENTITY_TYPE = "neotoma_feedback";
/**
 * Ensure the global `neotoma_feedback` schema exists and has every field
 * required by the pipeline. Safe to call multiple times.
 *
 * @returns The registered or updated schema entry.
 */
export declare function seedNeotomaFeedbackSchema(options?: {
    registry?: SchemaRegistryService;
}): Promise<SchemaRegistryEntry>;
/** Exported for tests / documentation. */
export declare const NEOTOMA_FEEDBACK_FIELD_SPECS: ReadonlyArray<{
    name: string;
    type: FieldDefinition["type"];
    required?: boolean;
    reducer?: "last_write" | "highest_priority" | "most_specific" | "merge_array";
    description?: string;
}>;
/**
 * Backward-compatible aliases kept until downstream scripts migrate imports.
 */
export declare const PRODUCT_FEEDBACK_ENTITY_TYPE = "neotoma_feedback";
export declare const PRODUCT_FEEDBACK_FIELD_SPECS: readonly {
    name: string;
    type: FieldDefinition["type"];
    required?: boolean;
    reducer?: "last_write" | "highest_priority" | "most_specific" | "merge_array";
    description?: string;
}[];
export declare const seedProductFeedbackSchema: typeof seedNeotomaFeedbackSchema;
//# sourceMappingURL=seed_schema.d.ts.map