import type { TemplateResult } from 'lit'; import type { KpiMetricLike } from './metric-input-hint'; /** 특정 metric 에 대한 커스텀 입력 렌더러. 제네릭 위젯으로 표현 못 하는 예외용. */ export type MetricInputRenderer = (metric: KpiMetricLike, value: any, onChange: (value: any) => void) => TemplateResult; /** * 커스텀 렌더러 레지스트리 (80/20 탈출구). * 제네릭 렌더러가 대부분을 처리하고, 특수 UI 만 predicate 로 등록해 우선 적용한다. */ declare class Registry { private entries; register(predicate: (metric: KpiMetricLike) => boolean, renderer: MetricInputRenderer): void; /** 가장 먼저 매칭되는 커스텀 렌더러(없으면 undefined → 제네릭 사용). */ resolve(metric: KpiMetricLike): MetricInputRenderer | undefined; /** 테스트/리셋용. */ clear(): void; } export declare const MetricRendererRegistry: Registry; export {};