import type { Draft } from 'immer'; import type { KeyTypes, RecordValue, UnionOfValues } from 'type-plus'; import type { Registry, RegistryValue } from './registry.js'; import type { Store, StoreValue } from './store.js'; export type Adder = (...entries: T[]) => void; export type WithAdder = { add: Adder; }; /** * builds an adder function for a store or registry */ export declare function adder>(registry: R, handler: (record: Draft>, entry: RecordValue>) => void): Adder>>>; export declare function adder, S extends Store>(store: S, handler: (record: Draft, entry: UnionOfValues) => void): Adder>; export declare function adder>>(store: S, handler: (record: Draft>, entry: RecordValue>) => void): Adder>>; export declare function withAdder>(registry: R, addEntry: (record: Draft>, entry: RecordValue>) => void): R & WithAdder>>; export declare function withAdder, S extends Store>(store: S, addEntry: (record: Draft, entry: ReturnType) => void): S & WithAdder>>; export declare function withAdder>>(store: S, addEntry: (record: Draft>, entry: RecordValue>) => void): S & WithAdder>>; export declare function push>(record: Draft, entry: UnionOfValues): void; export declare function unshift>(record: Draft, entry: UnionOfValues): void; //# sourceMappingURL=adder.d.ts.map