/**
 * {@link Omit} that distributes the omission over unions.
 */
export type DistributedOmit<T, K extends keyof any> = T extends any ? Omit<T, K> : never;
/**
 * Value which might be promise-like.
 */
export type MaybePromise<T> = T | PromiseLike<T>;
