export interface SessionCwdIssue {
    sessionFile?: string;
    sessionCwd: string;
    fallbackCwd: string;
}
interface SessionCwdSource {
    getCwd(): string;
    getSessionFile(): string | undefined;
}
export declare function getMissingSessionCwdIssue(sessionManager: SessionCwdSource, fallbackCwd: string): SessionCwdIssue | undefined;
export declare function formatMissingSessionCwdError(issue: SessionCwdIssue): string;
export declare function formatMissingSessionCwdPrompt(issue: SessionCwdIssue): string;
/** How to open a session whose stored cwd is missing: run it in the current cwd once, or fork it there. */
export type MissingSessionCwdChoice = "continue" | "fork";
/** Prompt options for a missing session cwd, naming the current cwd; `undefined` cancels. */
export declare function getMissingSessionCwdOptions(issue: SessionCwdIssue): Array<{
    label: string;
    value: MissingSessionCwdChoice | undefined;
}>;
export declare class MissingSessionCwdError extends Error {
    readonly issue: SessionCwdIssue;
    constructor(issue: SessionCwdIssue);
}
export declare function assertSessionCwdExists(sessionManager: SessionCwdSource, fallbackCwd: string): void;
export {};
//# sourceMappingURL=session-cwd.d.ts.map