export declare type Deferred<T = void> = T extends void ? Promise<void> & {
resolve(): void;
reject(error: unknown): void;
} : Promise<T> & {
resolve(value: T): void;
reject(error: unknown): void;
};
export declare function deferred<T = void>(): Deferred<T>;