/**
 * Field Library API routes
 *
 * CRUD over the workspace's reusable custom field definitions (the field
 * library). A definition is *soft* metadata — it drives the field picker and
 * agent awareness, but it never feeds SchemaRegistry, so applying a field is
 * an ordinary entity frontmatter write and an off-list value is never
 * rejected here.
 *
 * Auth: any authenticated member (no owner gate) — the global auth hook
 * already rejects unauthenticated callers when users exist. Open mode / API
 * key are admin-equivalent (no req.user), same as other routes.
 *
 * Persistence mirrors config-api: Workspace.writeConfig(next) →
 * workspaceManager.reloadConfig() (re-reads workspace.json into the live
 * in-memory config). No SchemaRegistry rebuild is needed — the library is not
 * compiled into Zod.
 *
 *   GET    /api/field-library
 *   POST   /api/field-library
 *   PUT    /api/field-library/:key
 *   DELETE /api/field-library/:key
 *   GET    /api/field-library/:key/usage?value=
 */
import type { FastifyInstance } from 'fastify';
import type { WorkspaceManager } from '../../core/workspace-manager.js';
import type { AuthService } from '../../services/auth-service.js';
export declare function registerFieldLibraryApiRoutes(fastify: FastifyInstance, workspaceManager: WorkspaceManager, _authService: AuthService): Promise<void>;
