/**
 * A deferred promise.
 */
export interface Deferred<PromiseType = void> {
    promise: Promise<PromiseType>;
    resolve: (value: PromiseType) => void;
    reject: (reason?: unknown) => void;
}
/**
 * @returns A new deferred promise.
 */
export declare function makeDeferred<PromiseType = void>(): Deferred<PromiseType>;
