/**
 * Ripped from https://github.com/binaryminds/react-native-sse
 * These changes are made from the above repo at fork-time:
 * 1. converted to ts and fix ts related errors.
 * 2. added onopen, onclose, onerror, onretrying functions.
 * 3. modified dispatch to work with functions added in 2.
 * 4. replaced all for of loops with foreach
 */
import type { EventSourceEvent, EventSourceListener, EventSourceOptions, EventType } from './types';
export declare function backoff(base: number, retryCount: number): number;
export declare function jitter(computedDelayMillis: number): number;
export default class EventSource<E extends string = never> {
    ERROR: number;
    CONNECTING: number;
    OPEN: number;
    CLOSED: number;
    private _lastEventId;
    private _lastIndexProcessed;
    private _eventType;
    private _status;
    private _eventHandlers;
    private _method;
    private _timeout;
    private _withCredentials;
    private _headers;
    private _body;
    private _url;
    private _xhr;
    private _connectTimer;
    private _retryAndHandleError?;
    private _initialRetryDelayMillis;
    private _retryCount;
    private _logger?;
    constructor(url: string, options?: EventSourceOptions);
    private _getNextRetryDelay;
    private _tryConnect;
    private _open;
    private _handleEvent;
    addEventListener<T extends EventType<E>>(type: T, listener: EventSourceListener<E, T>): void;
    removeEventListener<T extends EventType<E>>(type: T, listener: EventSourceListener<E, T>): void;
    removeAllEventListeners<T extends EventType<E>>(type?: T): void;
    dispatch<T extends EventType<E>>(type: T, data: EventSourceEvent<T>): void;
    close(): void;
    getStatus(): number;
    onopen(): void;
    onclose(): void;
    onerror(_err: any): void;
    onretrying(_e: any): void;
}
//# sourceMappingURL=EventSource.d.ts.map