export declare const observePopupState: unique symbol;
export declare const popupInterval: unique symbol;
export declare const popupObserver: unique symbol;
export declare const intervalValue: unique symbol;
/**
 * Adds support for the popup window authorization.
 *
 * The set timeout hack is used because I can't see other way of doing this
 * as load/unload events are called only once (even with redirects)
 * and there's no way of knowing what is happening in the popup (so no timeouts).
 * The user may need more time to authorize themselves and then the application.
 *
 * This class dispatches the `close` event when the popup was closed.
 *
 * Call the `cleanUp()` function when the authorization data is received.
 */
export declare class PopupAuthorization extends EventTarget {
    [intervalValue]: number;
    popup?: Window;
    [popupInterval]: number | undefined;
    /**
     * @param interval The popup state check interval
     */
    constructor(interval?: number);
    /**
     * Removes any existing frame and removes any remaining listeners.
     */
    cleanUp(): void;
    /**
     * Opens a popup to request authorization from the user.
     * @param url The URL to open.
     */
    load(url: string): void;
    /**
     * Initializes an interval to check whether the popup window is still present.
     * The web security model does not allow pages to read the URL for the cross domain
     * connections.
     */
    [observePopupState](): void;
    [popupObserver](): void;
}
//# sourceMappingURL=PopupAuthorization.d.ts.map