import type { TypedValue } from '@xylabs/typeof'; import type { PromiseEx } from './PromiseEx.ts'; /** A value that may be a Promise, PromiseEx, or a plain synchronous value. */ export type Promisable = PromiseEx | Promise | T; /** A Promisable that resolves to an array. */ export type PromisableArray = Promisable; /** A Promisable that may resolve to undefined. */ export type OptionalPromisable = Promisable; /** A Promisable array where elements may be undefined. */ export type OptionalPromisableArray = PromisableArray; /** A Promisable that may resolve to null. */ export type NullablePromisable = Promisable; /** A Promisable array where elements may be null. */ export type NullablePromisableArray = PromisableArray; /** @description Used to document promises that are being used as Mutexes */ export type AsyncMutex = Promise; /** An interface representing any thenable (promise-like) object. */ export interface PromiseType { then: () => unknown; } /** Any non-promise typed value, excluding thenables. */ export type AnyNonPromise = Exclude; //# sourceMappingURL=types.d.ts.map