type Observer<T> = (next: T, prev?: T) => void;
type UpdateFunction<T> = (state: T) => T;
type Updater<T> = T | UpdateFunction<T>;

export type { Observer, UpdateFunction, Updater };
