/** * Represents an empty object. */ export type Empty = Record; /** * Represent an unknown object. */ export type Unknown = Record; /** * Represents a subscription that exposes a way to unsubscribe. * * @example * * ```ts * function subscribe(): Subscription { * const interval = setInterval(() => console.log("foo"), 1000); * return { * unsubscribe() { * clearInterval(interval); * } * } * } * ``` */ export type Subscription = { /** * Gracefully terminate a decoupled subscriber. */ unsubscribe: () => void; };