/* eslint-disable @typescript-eslint/no-unused-vars -- bug? */ export type MaybeUndef = T | undefined; export type PromiseOrUndef = undefined | Promise; export type PromiseMaybeUndef = Promise; export type MaybePromise = T | Promise; // eslint-disable-next-line @typescript-eslint/no-explicit-any export type MaybeCall = T | ((...args: A) => T); // eslint-disable-next-line @typescript-eslint/no-explicit-any export type MaybePromiseOrCall = | T | Promise | ((...args: A) => T); export type MaybePromiseOrUndef = T | undefined | Promise; // eslint-disable-next-line @typescript-eslint/no-explicit-any export type MaybeCallOrUndef = | undefined | T | ((...args: A) => T); // eslint-disable-next-line @typescript-eslint/no-explicit-any export type MaybePromiseOrCallOrUndef = | T | undefined | Promise | ((...args: A) => T); // eslint-disable-next-line @typescript-eslint/no-explicit-any export type PromiseMaybeUndefOrCall = | Promise | ((...args: A) => T); // eslint-disable-next-line @typescript-eslint/no-explicit-any export type PromiseMaybeCallOrUndef = Promise< MaybeCallOrUndef >; // eslint-disable-next-line @typescript-eslint/no-explicit-any export type AnyFunction = (...args: any[]) => any; export interface RectProps { left: number; right: number; top: number; bottom: number; width: number; height: number; } export type ColorDef = CanvasRenderingContext2D["fillStyle"];