import type { WaferMetadata } from '../core/metadata.js';
export interface MetadataBadgeLotStack {
    lotSize: number;
    aggrMethod?: string;
}
export interface MetadataBadgeOptions {
    /** Present when the host result is a lot-stack aggregation rather than a
     *  single wafer — the badge then leads with wafer count + aggregation
     *  method instead of a (nonexistent) single waferId, per this project's
     *  requirement that stacked maps always self-identify as such. */
    lotStack?: MetadataBadgeLotStack;
}
export interface MetadataBadgeController {
    el: HTMLDivElement;
    /** Re-render with new metadata / lot-stack context — call from `setResult()`
     *  whenever `wafer`/`isLotStack`/`aggrMethod`/`lotSize` change, so the badge
     *  never goes stale. */
    update(metadata: WaferMetadata | null | undefined, lotStack?: MetadataBadgeLotStack): void;
    /** True when there is nothing to show (no lot-stack context and no metadata
     *  fields at all) — the caller should not mount `el` in that case, rather
     *  than show empty chrome. */
    isEmpty(): boolean;
    destroy(): void;
}
export declare function createMetadataBadge(metadata: WaferMetadata | null | undefined, opts?: MetadataBadgeOptions): MetadataBadgeController;
//# sourceMappingURL=metadataBadge.d.ts.map