import { Stores } from '../types';
export type UpdateManyCallback = (drafts: unknown[]) => void;
/**
 * Takes a list of stores and a callback function that will be called with
 * a draft for each store.
 *
 * TODO: Having trouble making a types for this. Going to table it for now.
 *
 * Example:
 *   type NumState = { num: number };
 *   type NumsState = { nums: number[] };
 *
 *   const numStore1 = createStore<NumState>({ num: 1 });
 *   const numsStore = createStore<NumsState>({ nums: [2, 3, 4] });
 *   const numStore3 = createStore<NumState>({ num: 5 });
 *
 *   updateStates([numStore1, numsStore, numStore3], ([num1, nums, num3]) => {
 *     //          Draft<NumState>, Draft<NumsState>, Draft<NumState>
 *     console.log(num1,            nums,             num3);
 *   });
 */
export default function updateStatesWithProducer<T extends unknown[]>(stores: Stores<T>, producer: any, // (state, (draft) => draft | undefined) => void
callback: UpdateManyCallback): void;
//# sourceMappingURL=updateStatesWithProducer.d.ts.map