import type { AnyFunction } from '../types';
/**
 * Similar to AbortController and AbortSignal.
 * Similar to pDefer and Promise.
 * Similar to Subject and Observable.
 *
 * Minimal interface for something that can be aborted in the future,
 * but not necessary.
 * Allows to listen to `onAbort` event.
 *
 * @experimental
 */
export declare class Abortable {
    onAbort?: AnyFunction | undefined;
    constructor(onAbort?: AnyFunction | undefined);
    aborted: boolean;
    abort(): void;
    clear(): void;
}
export declare function abortable(onAbort?: AnyFunction): Abortable;
