import type { StepEnablementEntry } from '../../types/index.js'; import type { PipelineOverlay, KnowledgeOverride, ReadsOverride, DependencyOverride, CrossReadsOverride } from '../../types/index.js'; import type { ScaffoldError, ScaffoldWarning } from '../../types/index.js'; /** Check if a value is a plain object (not null, not array). */ export declare function isPlainObject(value: unknown): value is Record; /** Parse step-overrides section from YAML object. */ export declare function parseStepOverrides(raw: Record, warnings: ScaffoldWarning[], filePath: string): Record; /** Parse knowledge-overrides section from YAML object. */ export declare function parseKnowledgeOverrides(raw: Record, warnings: ScaffoldWarning[], filePath: string): Record; /** Parse reads-overrides section from YAML object. */ export declare function parseReadsOverrides(raw: Record, warnings: ScaffoldWarning[], filePath: string): Record; /** Parse dependency-overrides section from YAML object. */ export declare function parseDependencyOverrides(raw: Record, warnings: ScaffoldWarning[], filePath: string): Record; /** Parse cross-reads-overrides section from YAML object. */ export declare function parseCrossReadsOverrides(raw: Record, warnings: ScaffoldWarning[], filePath: string): Record; /** * Load a project-type overlay YAML file. * @param overlayPath - Absolute path to overlay file * @returns { overlay, errors, warnings } */ export declare function loadOverlay(overlayPath: string): { overlay: PipelineOverlay | null; errors: ScaffoldError[]; warnings: ScaffoldWarning[]; }; /** * Load a domain sub-overlay YAML file with knowledge-only constraint. * Sub-overlays may only contain knowledge-overrides; any step, reads, or * dependency override sections are stripped with a warning. * @param overlayPath - Absolute path to sub-overlay file * @returns { overlay, errors, warnings } */ export declare function loadSubOverlay(overlayPath: string): { overlay: PipelineOverlay | null; errors: ScaffoldError[]; warnings: ScaffoldWarning[]; }; /** * Load a structural overlay YAML file (e.g., multi-service-overlay.yml). * Structural overlays have no project-type — they apply across project types * based on config properties (e.g., services[] presence). * * Validates name + description. Ignores project-type field if present. * @param overlayPath - Absolute path to structural overlay file * @returns { overlay, errors, warnings } */ export declare function loadStructuralOverlay(overlayPath: string): { overlay: PipelineOverlay | null; errors: ScaffoldError[]; warnings: ScaffoldWarning[]; }; //# sourceMappingURL=overlay-loader.d.ts.map