import { SessionRecord } from './sessionRestoreStore.js'; export interface RestoreFailure { record: SessionRecord; message: string; } export interface RestoreOutcome { restored: number; failures: RestoreFailure[]; } /** * Recorded sessions that this ccmanager run may offer to launch again. * * @param options.projectPath - When given, only sessions of that repository are * returned (single-project mode). Omit it to consider every recorded project, * which is what multi-project mode does. */ export declare function listRestorableSessions(options?: { projectPath?: string; }): SessionRecord[]; /** * Name of the command preset a record will be launched with, for display. * Resolved from the current configuration rather than stored alongside the * record, so a renamed preset shows its current name. Records whose preset no * longer exists fall back to the default preset, as launching does. */ export declare function describeRecordPreset(record: SessionRecord): string; /** * Launch each recorded session again, in the session manager the running * ccmanager will look at for its project. * * Sessions are started one at a time: each one is numbered relative to the * sessions already present in its worktree, which only holds if they are not * created concurrently. * * Every record is dropped from the durable store as it is processed — a * successfully restored session records itself anew under its new id, and a * failed one must not keep being offered on every subsequent start. */ export declare function restoreSessions(records: SessionRecord[], options: { multiProject: boolean; }): Promise; /** * Forget the offered sessions without launching them, so declining the offer * does not make it come back on the next start. */ export declare function discardRestorableSessions(records: SessionRecord[]): void;