export declare function normalizeRoot(path: string): string; export declare function normalizeRealRoot(path: string): string; /** * Resolve `path` to its realpath, refusing missing paths and symlinks. * * `missingPathMessage` is required because the two refusals mean different * things to the user: "there is nothing at this path" is a caller typo, while * "this path is a symlink" is an escape attempt. A single shared message made * `peaks memory extract --artifact ` report a sandbox-escape warning. */ export declare function realPathOrThrow(path: string, errorMessage: string, missingPathMessage: string): string; export declare function resolveProjectPath(path: string, projectRoot: string): string; export declare function assertInsideProject(path: string, projectRoot: string): string; export declare function assertSafeProjectMemoryDir(projectRoot: string): string; export declare function safeRealpath(path: string): string | null; export declare function assertSafeSessionDir(projectRoot: string, sessionId: string): string;