import { LocalStore } from './localstore'; /** * 项目根目录标志文件列表(按优先级排序) */ export declare const PROJECT_ROOT_MARKERS: string[]; /** * projects/ 存储根目录 */ export declare const projectsDir: string; /** * 将绝对路径转换为安全的目录名 * * 参考 Claude Code sessionStoragePortable.ts 的设计: * - 非字母数字字符替换为连字符 `-` * - 超过 200 字符时截断并附加 sha256 哈希前 16 位确保唯一性 * * @example * sanitizePath('/Users/bookerzhao/Projects/myapp') * // → '-Users-bookerzhao-Projects-myapp' */ export declare function sanitizePath(absolutePath: string): string; /** * 解析符号链接,获取规范化的绝对路径 * 如果路径不存在则返回 path.resolve() 的结果 */ export declare function canonicalizePath(p: string): string; /** * 从 cwd 向上查找项目根目录 * * 查找逻辑: * 1. 从 cwd 开始,逐级向上查找 PROJECT_ROOT_MARKERS * 2. 不越过 Home 目录(防止父目录配置污染) * 3. 都找不到时兜底使用 cwd 本身 */ export declare function findProjectRoot(cwd: string): string; /** * 获取项目的存储目录路径 * * @returns 绝对路径,如 `~/.config/.cloudbase/projects/-Users-bookerzhao-Projects-myapp/` */ export declare function getProjectDir(cwd: string): string; /** * 获取项目级 LocalStore 实例(通用工厂函数) * * 存储位置: `~/.config/.cloudbase/projects//.json` * * @param cwd - 项目工作目录(会自动向上查找项目根) * @param defaults - LocalStore 默认值 * @param dbKey - 存储文件名(不含 .json 后缀),如 'auth'、'env' * * @example * // 获取项目级 auth 存储 * const authStore = getProjectStore(process.cwd(), { credential: {} }, 'auth'); * * // 获取项目级 env 配置存储 * const envStore = getProjectStore(process.cwd(), { envId: '' }, 'env'); */ export declare function getProjectStore(cwd: string, defaults: Schema, dbKey: string): LocalStore;