import type { BranchConfigNormalizedOverride } from "./config/schema"; export type StackConfig = BranchConfigNormalizedOverride; type StrictConfigShape = Expected extends readonly unknown[] ? Actual extends readonly unknown[] ? { [K in keyof Actual]: K extends keyof Expected ? StrictConfigShape : never } : Actual : Expected extends object ? Actual extends object ? Exclude extends never ? { [K in keyof Actual]: K extends keyof Expected ? StrictConfigShape : never } : never : Actual : Actual; type StrictStackConfig = T & StrictConfigShape; export function defineStackConfig(config: StrictStackConfig): T { return config; }