export declare type Unsubscriber = () => void;
declare class EventManager {
    eventList: string[];
    cleanedUp: boolean;
    name: string;
    thisWindowName: string;
    sourceType: string;
    openResponders: string[];
    handlers: {
        event: string;
        handler: Function;
        listenerGuid: string;
    }[];
    constructor(params: {
        name: string;
        sourceType?: string;
    });
    /**
     * @private
     * @param event
     * @param handler
     */
    addListener(event: string, handler: Function): Unsubscriber;
    /**
     * @private
     * @param event
     * @param handler
     */
    removeListener(event: string, handler: Function): void;
    /**
     * Duplicate entries with the same handler are okay but will result in the function being called twice.
     * @param {string} event
     * @param {Function} handler
     * @memberof EventManager
     */
    addEventListener(event: string, handler: Function): Unsubscriber;
    /**
     * Removes an event listener added by addEventListener
     *
     * @deprecated Please use the Unsubscriber returned from addEventListener() instead.
     *
     * @param {string} event An event that was used with addEventListener to add a listener
     * @param {FinsembleEventHandler} handler The handler that was used with addEventListener for the event
     * @param {boolean} logWarning [true] If set to false then no warning will be logged if the handler isn't
     * found. This is generally a bad idea, so don't use it unless absolutely forced to. Currently "title-changed"
     * has an impossible problem.
     */
    removeEventListener(event: string, handler: Function, logWarning?: boolean): void;
    /**
     * @private
     * cleanup is called as part of the "unload" event. The browser provides very little time
     * to perform cleanup before terminating an app, so we must send a single message and hope
     * that it gets through. This should at some point be moved to a single, server-side cleanup
     * facility.
     */
    cleanup(): void;
}
export default EventManager;
//# sourceMappingURL=PublicEventManager.d.ts.map