import { ResumableSessionTranscriptRepository, SessionTranscriptFile } from './adapter-interfaces/ResumableSessionTranscriptRepository'; export type ResumableSessionSelectInput = { sessionName: string; sessionDir: string; otherSessionDirs: string[]; archiveRoot: string; }; export type SessionIdDirectoryCopyOutcome = 'copied' | 'copyFailed' | 'sourceAbsent' | 'destinationPresent'; export type ResumableSessionSelectResult = { type: 'noResumableSessionTranscriptFile'; } | { type: 'entryTimeMissing'; sessionId: string; } | { type: 'resumedInSessionDir'; sessionId: string; } | { type: 'resumedAfterCopy'; sessionTranscriptFile: SessionTranscriptFile; sessionIdDirectoryCopyOutcome: SessionIdDirectoryCopyOutcome; } | { type: 'sessionTranscriptFileCopyFailed'; sessionTranscriptFile: SessionTranscriptFile; }; export declare class ResumableSessionSelectUseCase { private readonly resumableSessionTranscriptRepository; constructor(resumableSessionTranscriptRepository: ResumableSessionTranscriptRepository); run: (input: ResumableSessionSelectInput) => ResumableSessionSelectResult; private otherSessionDirTranscriptFilesAbsentFromSessionDir; private newestResumableSessionTranscript; private copyIntoSessionDir; private sessionTranscriptFileCopyOutcome; private sessionIdDirectoryCopyOutcome; } //# sourceMappingURL=ResumableSessionSelectUseCase.d.ts.map