import { type ApplyOverlayOptions } from './merger'; import { type OverlayLookup, OverlayRegistry } from './registry'; import type { SignedOverlaySpec } from './spec'; import type { OverlayAuditEvent, OverlayRenderable } from './types'; export interface OverlayEngineOptions { registry: OverlayRegistry; audit?: (event: OverlayAuditEvent) => void; } export interface OverlayApplyParams extends OverlayLookup { target: T; overlays?: SignedOverlaySpec[]; strict?: ApplyOverlayOptions['strict']; } export interface OverlayRuntimeResult { target: T; overlaysApplied: SignedOverlaySpec[]; } export declare class OverlayEngine { private readonly registry; private readonly audit?; constructor(options: OverlayEngineOptions); apply(params: OverlayApplyParams): OverlayRuntimeResult; }