export declare const TEMPLATE_LAYER_FILE = "template-layer.json"; export declare const LAYER_PATCH_SUFFIX = ".patch"; /** Files the published core strips from its bundled template copies. */ export declare const PACKAGED_TEMPLATE_EXCLUDE: RegExp; export interface TemplateLayer { base: string; delete: string[]; } /** * A bundled template that holds only what it changes on top of another * template. Materialize copies the base, deletes `delete`, applies each * `.patch` (a unified diff) to the base's ``, copies the layer's * other files as new files, and merges the layer's package.json fields into * the base's. A patch whose context no longer matches the base fails the * materialize instead of silently dropping the change. */ export declare function readTemplateLayer(templateDir: string): TemplateLayer | null; /** * Applies the layer onto `dest`, which already holds the base tree. `only` * limits it to one subtree (for example `.agents/skills`) and skips the * package.json merge. */ export declare function applyTemplateLayer(layerDir: string, layer: TemplateLayer, dest: string, options?: { only?: string; }): void; /** The unified diff a layer stores for `rel` to turn `before` into `after`. */ export declare function createLayerPatch(rel: string, before: string, after: string): string; /** Layer-relative paths of every file the layer contributes. */ export declare function listLayerFiles(layerDir: string, rel?: string): string[];