/** 템플릿 노브 — 기본값 적용에 필요한 만큼만 본다. */ export interface KnobLike { key?: string; default?: unknown; } /** * 빠진 노브를 기본값으로 채운다. * * @param knobs 템플릿이 선언한 노브들(없으면 파라미터를 그대로 돌려준다). * @param params 호출자가 준 파라미터. * @returns 새 객체 — 입력을 바꾸지 않는다(호출자의 객체가 몰래 변하면 추적이 어렵다). */ export declare function applyKnobDefaults(knobs: readonly KnobLike[] | undefined | null, params: Record | undefined | null): Record; /** * 기본값으로 채운 노브 이름들 — 호출자에게 "무엇을 내가 정해 줬는지" 알릴 때 쓴다. * * 알리지 않고 채우는 것도 알리지 않고 비우는 것만큼 위험하다: 사용자가 준 적 없는 값으로 트윈이 만들어졌는데 * 아무 말이 없으면, 나중에 "왜 이 수치인가" 를 아무도 답할 수 없다. */ export declare function filledKnobKeys(knobs: readonly KnobLike[] | undefined | null, params: Record | undefined | null): string[];