/// <reference types="node" />
import { EventEmitter } from "events";
import { Readable, Writable } from "stream";
export interface Options<T = any> {
    event?: string;
    error?: string;
    end?: string[];
    firstEventTimeout?: number;
    inBetweenTimeout?: number;
    transform?: (buffer: Buffer) => T;
    limit?: number;
    keepAlive?: number;
    debug?: boolean;
    noSleep?: boolean;
}
export interface Context {
    lastResultAt: number;
}
export declare type SuperEmitter = (EventEmitter | Readable | Writable) & {
    readableEnded?: boolean;
    writableEnded?: boolean;
};
export declare type TimeoutRaceFactory = () => Array<Promise<void | symbol>>;
export declare const Abort: unique symbol;
