import type { AssetPack, PackSource, SourceAdapterContext } from "../schema.js"; /** v15.x PR4(§6.2):路径解析——支持 ~ / 绝对 / 相对 cwd。 * ~ 开头 → home dir(join 后自然处理 ~user/foo / ~/foo / ~foo);绝对路径原样;相对路径 resolve(cwd, raw)。 */ export declare function resolvePackPath(raw: string, cwd: string): string; /** * 尝试加载 pack:目录不存在返空 Pack(不报错)。 * v15.x §2.4.2 双层语义:所有 pack 都走 MdFilePack.create 读 manifest, * reserved pack 无 manifest 时 name 退化到位置别名(back-compat)。 * * 不预加载——目录不存在时 loadDomains() 等返空数组,与"空 Pack"等价。 * 这样调用方可以无差别调 loadXxx,不用关心目录是否存在。 * * PR2:构造从 sync 改 async——走 MdFilePack.create 读 manifest。 * adapterCtx 透传给 MdFilePack:parse 失败时调 reportError 上抛(PR1 补丁 S2)。 */ export declare function tryLoadPack(rootDir: string, source: PackSource, adapterCtx?: SourceAdapterContext): Promise; /** 构造 project pack(§6.5:路径可配,默认 .pt/assets)。 * v15.x PR4:优先读 settings 的 pt.project-pack-dir,fallback adapterCtx.assetDir / ASSETS_DIR。 * project pack 身份由 manifest.name 决定(无 manifest 时退化到 "prj",back-compat)。 * 指向项目外路径合法(../shared / 绝对),文档提示慎用。 */ export declare function loadProjectPack(cwd: string, adapterCtx?: SourceAdapterContext): Promise; /** 构造 builtin pack(src/builtin/assets/,随 npm 包发布):无 manifest 时退化到 "pt"。 */ export declare function loadBuiltinPack(adapterCtx?: SourceAdapterContext): Promise; /** v15.x PR4(§6.1 + §6.3):settings pack 加载。 * 读 .pi/settings.json 的 pt.asset-packs[](只 path 字段,§6.2 单一事实源),构造 AssetPack[]。 * - pack name 从 manifest 读(MdFilePack.create 内部走 §2.4.2 逻辑) * - 路径解析 resolvePackPath(~ / 绝对 / 相对 cwd) * - path 无效 / 目录不存在 / parse 失败 → 跳过该 pack(§6.7.5 不阻断) * - 返回顺序 = settings 声明顺序(mdAdapter.load 负责 .reverse() 实现后者赢) * - settings pack 无 manifest 时 name=basename 兜底(非 reserved,走 §2.4.2 路径 3) */ export declare function loadSettingsPacks(cwd: string): Promise; /** * 调试 / 测试用:判断给定路径是否"看起来像 Pack"——是目录 + 至少含一个 asset 子目录。 * PR1 阶段主要用于测试断言,prod 路径不调。 */ export declare function looksLikePackDir(rootDir: string): boolean; /** * v15.x PR1(§6.7.3):project pack 降级时强制覆盖 profileName 为 "guide"。 * 抽为 pure helper 便于单元测试——transpileActive 调一下,逻辑集中。 * back-compat:degraded=false 或 requested="guide" 时返 requested 原值。 */ export declare function applyProjectPackDegrade(projectPackDegraded: boolean, requested: string): string;