/**
 * Renders the `## Entry Types` section injected into the agent system prompt.
 *
 * Consumers (orchestrator.ts, cli/commands/start.ts) replace the
 * `{{ENTITY_TYPES}}` placeholder in system.md with the output of this function.
 *
 * The agent now has the full curated catalog available at all times. The
 * "basic" vs "show more" distinction is a UI concern in the New Entry
 * picker, not a creation-permission gate. Workspace-defined custom types
 * (via schema_extensions) are appended after the canonical list.
 */
export interface EntityTypesSectionOptions {
    /** Custom entity type names defined by the workspace via schema_extensions. */
    customTypes?: string[];
}
export declare function renderEntityTypesSection(options?: EntityTypesSectionOptions): string;
/**
 * List of entity type names the agent is allowed to create in a given
 * workspace: the full canonical catalog plus any custom workspace types.
 * Used for tool-schema enum construction and runtime guard checks.
 *
 * `comment` is excluded. Comments are SQLite-backed virtual entities
 * exposed through the MCP virtual-entity adapter; they're created via the
 * comments API (`POST /api/comments/...`), not via `create_entity`. A
 * file-backed comment markdown entry would never appear in the rail or
 * the notifications dropdown.
 *
 * `material` is NOT excluded: like `document`/`dataset` it's a general entity
 * type whose `asset_ref` (the embedded binary) is OPTIONAL and set only by
 * import. An agent-created material is a notes/catalog entry with no binary —
 * the same shape as an agent-created document (authored body, no file) — which
 * is valid, so it stays creatable.
 */
export declare function getAgentAllowedEntityTypes(customTypes?: string[]): string[];
