export type SessionListProgress = (loaded: number, total: number) => void;
export interface SessionInfo {
    path: string;
    id: string;
    /** Working directory where the session was started. Empty string for old sessions. */
    cwd: string;
    /** User-defined display name from session_info entries. */
    name?: string;
    /** Path to the parent session (if this session was forked). */
    parentSessionPath?: string;
    created: Date;
    modified: Date;
    messageCount: number;
    firstMessage: string;
    lastMessage: string;
    allMessagesText: string;
}
export declare function buildSessionInfo(filePath: string): Promise<SessionInfo | null>;
export declare function listSessionsFromDir(dir: string, onProgress?: SessionListProgress, progressOffset?: number, progressTotal?: number): Promise<SessionInfo[]>;
export declare function listSessions(cwd: string, sessionDir?: string, onProgress?: SessionListProgress): Promise<SessionInfo[]>;
export declare function listAllSessions(onProgress?: SessionListProgress): Promise<SessionInfo[]>;
//# sourceMappingURL=session-catalog.d.ts.map