import type { StringIndexable } from '../BaseTypes'; export type Replacer = (instance: T) => T; export interface RegistryInterface> { has(name: K): boolean; get(name: K): NonNullable; maybeSet(name: K, instance: NonNullable): void; maybeSetAndGet(name: K, defaultValue: NonNullable): NonNullable; set(name: K, instance: NonNullable): void; addReplacer(name: K, replacer: Replacer>): void; delete(name: K): boolean; }