import type { Session, SessionEvent, Decision, Problem, FileChange, SessionSummary } from '../types/index.js';
export declare class SessionService {
    private currentSessionId;
    private getGitInfo;
    startSession(projectPath: string): Session;
    getOrCreateSession(projectPath: string): Session;
    endSession(sessionId?: string): Promise<Session | null>;
    recordPrompt(content: string, tokensUsed?: number): SessionEvent | null;
    recordToolUse(toolName: string, input: string, output: string, tokensUsed?: number): SessionEvent | null;
    recordDecision(title: string, description: string, reasoning: string, options?: {
        context?: string;
        alternatives?: string;
        files?: string[];
        importance?: 'low' | 'medium' | 'high' | 'critical';
    }): Decision | null;
    recordProblem(title: string, description: string, errorMessage?: string, stackTrace?: string): Problem | null;
    resolveProblem(problemId: string, resolution: string): void;
    recordFileChange(filePath: string, changeType: 'created' | 'modified' | 'deleted' | 'renamed', linesAdded?: number, linesRemoved?: number, reason?: string): FileChange | null;
    updateTokens(inputTokens: number, outputTokens: number): void;
    generateSessionSummary(sessionId: string): Promise<SessionSummary | null>;
    private buildNarrative;
    private buildResumeContext;
    getResumableSession(projectPath: string): SessionSummary | null;
    private generateSessionSummarySync;
    getAllSessions(limit?: number): Session[];
    searchSessions(query: string): Session[];
    getStats(): any;
}
export declare const sessionService: SessionService;
export default sessionService;
//# sourceMappingURL=session.d.ts.map