| /** | |
| * A callback function that accepts an error or a result. | |
| * @public | |
| */ | |
| export interface Callback<T> { | |
| (error: Error, result?: never): void; | |
| (error: null, result: T): void; | |
| } | |
| /** | |
| * A callback function that only accepts an error. | |
| * @public | |
| */ | |
| export interface ErrorCallback { | |
| (error: Error | null): void; | |
| } | |
| /** | |
| * The inverse of NonNullable<T>. | |
| * @public | |
| */ | |
| export type Nullable<T> = T | null | undefined; | |
| /** Wrapped `Object.prototype.toString`, so that you don't need to remember to use `.call()`. */ | |
| export declare const objectToString: (obj: unknown) => string; | |
| /** Safely converts any value to string, using the value's own `toString` when available. */ | |
| export declare const safeToString: (val: unknown) => string; | |
| /** Utility object for promise/callback interop. */ | |
| export interface PromiseCallback<T> { | |
| promise: Promise<T>; | |
| callback: Callback<T>; | |
| resolve: (value: T) => Promise<T>; | |
| reject: (error: Error) => Promise<T>; | |
| } | |
| /** Converts a callback into a utility object where either a callback or a promise can be used. */ | |
| export declare function createPromiseCallback<T>(cb?: Callback<T>): PromiseCallback<T>; | |
| export declare function inOperator<K extends string, T extends object>(k: K, o: T): o is T & Record<K, unknown>; | |