/**
 * A possibly-async function that runs a callback or returns a promise.
 */
export declare type MaybeAsync = ((callback: (err?: Error | null) => void) => void) | (() => Promise<void> | void);
export interface IDeferred<T = void> {
    resolve(value: T): void;
    reject(err: Error): void;
}
export declare const returnsPromiseLike: (fn: MaybeAsync) => fn is () => Promise<void>;
/**
 * Runs a possibly async function and returns a promise when it completes.
 */
export declare const runMaybeAsync: (fn: MaybeAsync) => Promise<void>;
