import { type KeyTypes, type Widen } from 'type-plus'; import type { OnStateChange, ResetState, SetState, StateMeta } from './state.js'; export type ReadonlyRegistry = { get(): Record; onChange: OnStateChange>; keys(): K[]; has(key: K): boolean; size(): number; values(): T[]; }; export type Registry = ReadonlyRegistry & { set: SetState>; reset: ResetState; }; /** * Gets the Value type of the Registry (the `Record`) */ export type RegistryValue> = ReturnType; export declare function createRegistry(init?: Record, meta?: StateMeta): Registry, T>; export declare function toReadonlyRegistry>(registry: S): S extends Registry ? ReadonlyRegistry : never; //# sourceMappingURL=registry.d.ts.map