export interface OverlaySlot { readonly key: string; render(): string; } export interface OverlaySink { setOverlay(text: string): void; } export declare class OverlayComposer { private readonly sink; private readonly order; private readonly slots; private dirty; constructor(sink: OverlaySink, order: readonly string[]); register(slot: OverlaySlot): void; markDirty(key: string): void; flush(): void; invalidate(): void; }