export type PriorityRegistration = Readonly; declare abstract class CopyOnWriteRegistry { #private; protected getItems(): readonly TValue[]; protected setItems(items: readonly TValue[]): void; protected removeItem(value: TValue): boolean; has(): boolean; clear(): void; } export declare class OrderedRegistry extends CopyOnWriteRegistry { append(value: TValue): () => void; prepend(value: TValue): () => void; remove(value: TValue): boolean; values(): readonly TValue[]; } export declare class PriorityRegistry extends CopyOnWriteRegistry> { #private; register(listener: TListener, options: TOptions): () => void; entries(): readonly PriorityRegistration[]; } export {};