interface EventSourceFactory {
    new (path: string): EventSource;
}
export declare const injectEvents: (eventSource: EventSourceFactory) => {
    new (options: {
        name: string;
        path: string;
    } & Partial<Options>): {
        /**
         * Registered listeners
         */
        listeners: Set<Listener>;
        /**
         * EventSource `onmessage` handler
         */
        onmessage: (payload: MessageEvent) => Promise<void>;
        /**
         * EventSource `onopen` handler
         */
        onopen: () => void;
        options: {
            name: string;
            path: string;
        } & Partial<Options>;
        /**
         * EventSource `addMessageListener` handler
         */
        addListener(listener: Listener): any;
        onerror: (this: EventSource, ev: Event) => any;
        readonly readyState: number;
        readonly url: string;
        readonly withCredentials: boolean;
        close(): void;
        readonly CONNECTING: 0;
        readonly OPEN: 1;
        readonly CLOSED: 2;
        addEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
        addEventListener(type: string, listener: (this: EventSource, event: MessageEvent) => any, options?: boolean | AddEventListenerOptions): void;
        addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
        removeEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
        removeEventListener(type: string, listener: (this: EventSource, event: MessageEvent) => any, options?: boolean | EventListenerOptions): void;
        removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
        dispatchEvent(event: Event): boolean;
    };
    /**
     * Singleton constructor
     *
     */
    make(options: {
        name: string;
        path: string;
    } & Partial<Options>): {
        /**
         * Registered listeners
         */
        listeners: Set<Listener>;
        /**
         * EventSource `onmessage` handler
         */
        onmessage: (payload: MessageEvent) => Promise<void>;
        /**
         * EventSource `onopen` handler
         */
        onopen: () => void;
        options: {
            name: string;
            path: string;
        } & Partial<Options>;
        /**
         * EventSource `addMessageListener` handler
         */
        addListener(listener: Listener): any;
        onerror: (this: EventSource, ev: Event) => any;
        readonly readyState: number;
        readonly url: string;
        readonly withCredentials: boolean;
        close(): void;
        readonly CONNECTING: 0;
        readonly OPEN: 1;
        readonly CLOSED: 2;
        addEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
        addEventListener(type: string, listener: (this: EventSource, event: MessageEvent) => any, options?: boolean | AddEventListenerOptions): void;
        addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
        removeEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
        removeEventListener(type: string, listener: (this: EventSource, event: MessageEvent) => any, options?: boolean | EventListenerOptions): void;
        removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
        dispatchEvent(event: Event): boolean;
    };
};
export {};
