/**
 * Transforms `Promise` in such a way that resolved or rejected results
 * are mapped to `null` if specified abort `signal` is aborted.
 *
 * @category Utilities
 */
export declare function mapAbortedToNull<T>(promise: Promise<T>, signal: AbortSignal | undefined): Promise<T | null>;
/**
 * Creates a derived abort signal, i.e. `AbortSignal` instance
 * which is automatically aborted when parent signal is aborted,
 * but can be aborted separately the same way as normal `AbortController`.
 *
 * @category Utilities
 */
export declare class AbortScope {
    private readonly controller;
    private readonly parentSignal;
    private onAbort;
    constructor(parentSignal: AbortSignal | undefined);
    get signal(): AbortSignal;
    [Symbol.dispose](): void;
    abort(): void;
}
/**
 * Waits a specified timeout in milliseconds the resolves the result promise.
 *
 * Can be cancelled via specified `AbortSignal`, in which case the promise
 * will be rejected with abort signal reason (an error with `name === "AbortError"`).
 *
 * @category Utilities
 */
export declare function delay(timeout: number, options?: {
    signal?: AbortSignal;
}): Promise<void>;
export declare class AsyncLock {
    private active;
    acquire(): Promise<AsyncLockToken>;
    private release;
    private activate;
    dispose(): void;
}
export interface AsyncLockToken {
    release(): Promise<void>;
}
//# sourceMappingURL=async.d.ts.map