import type { ClaudeSession, ClaudeSessionJobType, SessionId } from '../../../../modules/claude-invocation/entities/claudeSession/claudeSession.schema.js';
export interface CreateClaudeSessionInput {
    sessionId: SessionId;
    jobId: string;
    jobType: ClaudeSessionJobType;
    localPath: string;
    mergeRequestId: string;
    dispatchedAt: Date;
}
export declare function createClaudeSession(input: CreateClaudeSessionInput): ClaudeSession;
export declare function markCompleted(session: ClaudeSession): ClaudeSession;
export declare function markFailed(session: ClaudeSession, reason: string): ClaudeSession;
export declare function markTimedOut(session: ClaudeSession): ClaudeSession;
export declare function markCleaned(session: ClaudeSession): ClaudeSession;
export declare function isExpired(session: ClaudeSession, now: Date, timeoutMs: number): boolean;
//# sourceMappingURL=claudeSession.d.ts.map