/**
 * Views API routes
 *
 * Per-user saved views backed by AuthService SQLite (Saved-Views Phase 2).
 * A view = a durable named lens (visualization + filters + sort/group, in
 * `config`) pinned to a `scope` (recent / type:<t> / folder:<id>). Views are
 * scoped to the authenticated user (or user_id=0 in no-auth mode).
 *
 * Scope resolution + access-control filtering live here (not in AuthService),
 * because they need the WorkspaceManager (filesystem) + access-control helpers:
 *   - `folder` save scopes mint/read the folder's stable sidecar id (D2).
 *   - on read, each stored scope is resolved to a concrete `ResolvedScope`
 *     and folder-scoped views the caller can no longer access are filtered out
 *     (§4a); a folder whose id no longer resolves is tombstoned as `gone`.
 */
import type { FastifyInstance } from 'fastify';
import { AuthService } from '../../services/auth-service.js';
import { WorkspaceManager } from '../../core/workspace-manager.js';
export declare function registerViewsApiRoutes(fastify: FastifyInstance, authService: AuthService, workspaceManager: WorkspaceManager): Promise<void>;
