import type { FileEntry, NewSessionOptions, SessionEntry } from "./session-manager-types.ts";
export declare function createBackupSnapshot(sessionFile: string | undefined, entries: FileEntry[], label?: string): string | undefined;
export interface BranchedSessionStateInput {
    leafId: string;
    persist: boolean;
    sessionDir: string;
    cwd: string;
    previousSessionFile: string | undefined;
    path: SessionEntry[];
    labelsById: ReadonlyMap<string, string>;
    labelTimestampsById: ReadonlyMap<string, string>;
}
export interface BranchedSessionState {
    sessionId: string;
    sessionFile: string | undefined;
    fileEntries: FileEntry[];
    shouldRewriteFile: boolean;
    flushed?: boolean;
}
export declare function createBranchedSessionState(input: BranchedSessionStateInput): BranchedSessionState;
export interface ForkedSessionFile {
    cwd: string;
    sessionDir: string;
    sessionFile: string;
}
export declare function forkSessionFromFile(sourcePath: string, targetCwd: string, sessionDir?: string, options?: NewSessionOptions): ForkedSessionFile;
//# sourceMappingURL=session-manager-archive.d.ts.map