/**
 * Curated entity-type catalog for Studiograph.
 *
 * The full canonical schema set lives in `validation.ts` (ENTITY_SCHEMAS).
 * This file exposes two cross-cutting concerns:
 *
 * 1. `DEFAULT_BASIC_ENTITY_TYPES` — the small default set every fresh
 *    workspace surfaces in the New Entry modal's "basic" tier. The tier
 *    grows for each user as entries of other curated types appear in
 *    folders that user can access (see the picker in
 *    web/src/lib/components/entity/NewEntryTypePicker.svelte). There is no
 *    persistent per-workspace "active set" — visibility is derived from
 *    graph presence + folder permissions.
 *
 * 2. `CURATED_ENTITY_TYPE_DESCRIPTIONS` — short one-line descriptions for
 *    every canonical type. Used by the agent system prompt, tool reference,
 *    and the picker's detail pane.
 *
 * This module is pure data — no runtime dependencies on Node APIs or Zod —
 * so it is safe to import from the web bundle via the
 * `@core/entity-types-catalog` alias.
 */
/**
 * Default "basic" tier for a fresh workspace. Just the three capture
 * primitives — the answer to "what do you want to create right now?".
 * Project / person / organization are organizational types that surface
 * automatically via the presence-based rule the moment someone creates
 * their first one. The picker augments this default with any curated
 * types already present in folders the user can access.
 */
export declare const DEFAULT_BASIC_ENTITY_TYPES: readonly ["note", "event", "task"];
export type DefaultBasicEntityType = typeof DEFAULT_BASIC_ENTITY_TYPES[number];
export declare function isDefaultBasicEntityType(type: string): boolean;
/**
 * Notable fields for each canonical type — the ones worth surfacing in the
 * New Entry picker's detail pane as "what this type captures" chips. Not a
 * complete field list; that lives in the Zod schemas. Base fields
 * (entity_type, entity_id, created_at, etc.) are never listed here.
 *
 * Labels are Title Case to match the user-facing property panel.
 */
export declare const CURATED_ENTITY_TYPE_FIELDS: Record<string, string[]>;
export declare function getCuratedEntityTypeFields(type: string): readonly string[];
/**
 * One-line descriptions for every canonical entity type. Terse on purpose —
 * full schema detail lives in validation.ts and is available on demand via
 * the `get_entity_schema` tool.
 */
export declare const CURATED_ENTITY_TYPE_DESCRIPTIONS: Record<string, string>;
/**
 * The canonical list of curated entity types, in catalog order. Derived
 * from CURATED_ENTITY_TYPE_DESCRIPTIONS so descriptions and the type list
 * stay in sync without this module taking a Zod dependency.
 */
export declare const CURATED_ENTITY_TYPES: readonly string[];
export declare function isCuratedEntityType(type: string): boolean;
export declare function getCuratedEntityTypeDescription(type: string): string | undefined;
/**
 * Compute the "basic" tier of entity types for a given user:
 * defaults ∪ curated types already present in folders the user can access.
 * `presentTypes` comes from the permission-filtered /api/repos response —
 * so this helper respects folder access for free. Non-curated types in
 * `presentTypes` (e.g. workspace custom types) pass through unchanged.
 */
export declare function computeBasicEntityTypes(presentTypes: Iterable<string>): string[];
