export interface ParsedMessage {
    id: string;
    parentId: string | null;
    timestamp: string;
    role: 'user' | 'assistant';
    content: string | null;
    contentType: 'text' | 'tool_call' | 'thinking' | 'tool_result';
    toolName: string | null;
    tokens: number | null;
    inputTokens: number | null;
    outputTokens: number | null;
    totalTokens: number | null;
}
export interface SessionHeader {
    id: string;
    timestamp: string;
    version: number;
}
export declare function parseJSONLFile(filePath: string, startByte?: number): Promise<{
    messages: ParsedMessage[];
    header: SessionHeader | null;
    bytesRead: number;
    linesRead: number;
}>;
export interface SessionIndex {
    sessionId: string;
    chatType: string;
    channel: string;
    origin: {
        provider?: string;
        surface?: string;
        chatType?: string;
        label?: string;
        from?: string;
        to?: string;
        accountId?: string;
    };
    sessionFile: string;
    inputTokens: number;
    outputTokens: number;
    totalTokens: number;
    model: string;
    updatedAt: number;
}
export declare function parseSessionsIndex(filePath: string): Map<string, SessionIndex>;
//# sourceMappingURL=parser.d.ts.map