import { Readable, Subscriber } from './public.js'; /** Cleanup logic callback. */ export type Invalidator = (value?: T) => void; /** Pair of subscriber and invalidator. */ export type SubscribeInvalidateTuple = [Subscriber, Invalidator]; /** One or more `Readable`s. */ export type Stores = | Readable | [Readable, ...Array>] | Array>; /** One or more values from `Readable` stores. */ export type StoresValues = T extends Readable ? U : { [K in keyof T]: T[K] extends Readable ? U : never };