/**
 * Session capture — read side.
 *
 * `getTimeline(sessionId)` returns every event for a session, sorted
 * by `ts` ascending, with payload JSON.parse'd back into a JS value
 * (or surfaced as a raw string when the payload was deliberately
 * stored as plain text). Powers the dashboard replay scrubber.
 *
 * Kept deliberately minimal — pagination, filtering by kind, and
 * cross-session timelines belong on the API route (`./api/routes/
 * sessions.ts`) above, not in this reader.
 */
import type { SessionEventKind } from './capture.js';
export interface SessionEventRow {
    id: number;
    session_id: string;
    project: string | null;
    ts: string;
    kind: SessionEventKind;
    actor: string | null;
    /** Parsed JSON (object/array/primitive) or raw string fall-through. */
    payload: unknown;
    duration_ms: number | null;
    audit_id: number | null;
    created_at: string;
}
/** All events for a session, in `ts` ascending order. */
export declare function getTimeline(sessionId: string): SessionEventRow[];
