/**
 * Session Routes
 *
 * Agent session management (start, stop, resume, stream).
 */
import { Hono } from 'hono';
import type { EntityId } from '@stoneforge/core';
import type { Services } from '../services.js';
type NotifyClientsCallback = (agentId: EntityId, session: {
    id: string;
    mode: 'headless' | 'interactive';
}, events: import('events').EventEmitter) => void;
/**
 * Clean up the session event saver tracking for a session.
 * Call this when a session ends to allow re-attachment if the session restarts.
 */
export declare function cleanupSessionEventSaver(sessionId: string): void;
/**
 * Attach an event listener to save session events immediately.
 * This ensures all events are persisted even before any SSE client connects.
 * Uses a Set to track attached sessions and avoid duplicate listeners.
 * Exported for use by the dispatch daemon callback.
 */
export declare function attachSessionEventSaver(events: import('events').EventEmitter, sessionId: string, agentId: EntityId, sessionMessageService: Services['sessionMessageService']): void;
export declare function createSessionRoutes(services: Services, notifyClientsOfNewSession: NotifyClientsCallback): Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
export {};
//# sourceMappingURL=sessions.d.ts.map