import type { CancelablePromiseUtils, RejectCallback, ResolveCallback } from './types'; import CancelablePromise from './CancelablePromise'; /** Deferred CancelablePromise with separate control methods. */ export type DeferredPromise = { /** The CancelablePromise instance */ promise: CancelablePromise; /** Function to resolve the promise */ resolve: ResolveCallback; /** Function to reject the promise */ reject: RejectCallback; } & CancelablePromiseUtils; /** * Creates a deferred CancelablePromise with separate resolve/reject functions. * * @example * ```ts * const deferred = defer(); * * // Access the promise * deferred.promise.then(console.log); * * // Resolve from outside * deferred.resolve('Success!'); * * // Or reject * deferred.reject(new Error('Failed!')); * * // Or cancel * deferred.cancel('Not needed anymore'); * ``` */ export declare const defer: () => DeferredPromise; export default defer;