import type { RecipeKind } from "./kind.js"; /** * Erase a `RecipeKind` to `RecipeKind` for storage in * heterogeneous maps / records. `RecipeKind` is invariant in `T` * (uses it in both covariant and contravariant positions), so this * cast is required at boundaries that collect different recipe kinds * — there is no narrower assignable target. Use this helper instead * of inlining `as unknown as RecipeKind` per-call: the name * documents the intent and concentrates the unsafety in one seam. */ export declare const eraseKind: (kind: RecipeKind) => RecipeKind; /** Register a recipe kind. Throws on a duplicate name. */ export declare const registerKind: (kind: RecipeKind) => void; /** Look up a registered kind, or throw a hinted error when it is absent. */ export declare const getKind: (name: string) => RecipeKind; /** Names of all registered kinds, sorted. */ export declare const listKinds: () => string[];