import type { FastifyInstance } from 'fastify';
import type { AuthService } from '../../services/auth-service.js';
import type { WorkspaceManager } from '../../core/workspace-manager.js';
import type { WsHub } from '../ws-hub.js';
import type { AgentOrchestrator } from '../../agent/orchestrator.js';
import { ChatSessionService } from '../../services/chat-session-service.js';
/**
 * Per-user chat-session persistence. The server is the SOLE store of the agent
 * rail's history (no client localStorage). Sessions are metadata rows; messages
 * are appended as rows so a chat has no size limit and metadata writes
 * (rename/pin via PATCH) are decoupled from message appends.
 */
export declare function registerChatSessionsApiRoutes(fastify: FastifyInstance, chatSessionService: ChatSessionService, workspaceManager: WorkspaceManager, authService: AuthService, wsHub: WsHub, getAgent: () => AgentOrchestrator | null): Promise<void>;
