///
import { EventEmitter } from 'events';
import { URL } from 'url';
import { RawResult } from '../models/response';
export declare class EventSourceListner extends EventEmitter {
private url;
private request;
private state;
private reconnect;
private lastId;
private heartbeatTimout;
private idleTimeout;
constructor(url: string | URL, reconnect?: boolean);
private heartbeat;
private handleResponse;
connect(): void;
close(force?: boolean): void;
on(event: 'heartbeat', listener: () => void): this;
on(event: 'connected', listener: () => void): this;
on(event: 'message', listener: (data: T & RawResult) => void): this;
on(event: 'error', listener: (err: Error) => void): this;
on(event: 'reconnecting', listener: () => void): this;
on(event: 'closed', listener: () => void): this;
}