/**
 * claude-cli-transcript — Daemon-side built-in native history adapter for claude-cli.
 *
 * Reads Claude Code JSONL transcript files directly without shelling out to a JS override.
 * The transcript format is one JSON object per line, where each line has:
 *   - type: 'user' | 'assistant'
 *   - message: { content: string | ContentBlock[] }
 *   - timestamp: number (ms epoch) | string (ISO)
 *   - sessionId?: string
 *   - cwd?: string
 *
 * OSS code (AGPL-3.0). Must not import from packages/ (proprietary).
 */
export type NativeHistoryRole = 'user' | 'assistant' | 'system';
export type NativeHistoryKind = 'standard' | 'tool' | 'session_start';
export interface NativeHistoryMessage {
    ts: string;
    receivedAt: number;
    role: NativeHistoryRole;
    content: string;
    kind: NativeHistoryKind;
    senderName?: string;
    agent: 'claude-cli';
    historySessionId: string;
    workspace?: string;
    /** Stable per-message identity (v2 contract). */
    providerUnitKey?: string;
}
export interface NativeHistorySession {
    messages: NativeHistoryMessage[];
    providerSessionId: string;
    source: 'provider-native';
    sourcePath: string;
    sourceMtimeMs: number;
    nativeHistoryCoverage: 'full';
    workspace?: string;
}
export interface NativeHistorySessionMeta {
    historySessionId: string;
    sessionId: string;
    sourcePath: string;
    sourceMtimeMs: number;
    messageCount: number;
    firstMessageAt: number;
    lastMessageAt: number;
    sessionTitle?: string;
    preview?: string;
    workspace?: string;
    agent: 'claude-cli';
    source: 'provider-native';
    nativeHistoryCoverage: 'full';
}
/**
 * Read a single Claude Code session by its transcript file path.
 *
 * `sessionPath` is the absolute path to a `<uuid>.jsonl` file.
 * Returns `null` when the file is missing, empty, or yields no parseable messages.
 */
export declare function readSession(sessionPath: string): NativeHistorySession | null;
/**
 * List all Claude Code sessions under the given glob-style watchPath base dir.
 *
 * `watchPath` is the pattern from provider.v1.json (`~/.claude/projects/**\/*.jsonl`).
 * This implementation expands the home directory and scans `~/.claude/projects/`
 * recursively, collecting all `.jsonl` files.
 *
 * Returns summary metadata for each session (no full message reads on this hot path;
 * each file is opened only for lightweight scanning).
 */
export declare function listSessions(watchPath: string): Promise<NativeHistorySessionMeta[]>;
