export declare const loadHandler: unique symbol;
export declare const timeoutValue: unique symbol;
export declare const checkInterval: unique symbol;
export declare const limitValue: unique symbol;
export declare const targetValue: unique symbol;
/**
 * Adds the support for the iframe authorization.
 *
 * This class creates and loads an iframe for the given URL. Then it runs a timer recursively
 * that increases its interval multiplying its last timeout value by 2.
 * The the timer reaches timeout it dispatches the timeout event.
 *
 * The library takes into the account the redirects.
 *
 * Call the `cancel()` and the `cleanUp()` functions when the authorization data is received.
 */
export declare class IframeAuthorization extends EventTarget {
    loadTimeout?: number;
    timedOut: boolean;
    [timeoutValue]: number;
    [limitValue]: number;
    [targetValue]: HTMLElement;
    frame?: HTMLIFrameElement;
    /**
     * @param limit The timeout limit after which the library calls timeout if it wasn't cancelled.
     * @param target A target node where to add the iframe into.
     */
    constructor(limit?: number, target?: HTMLElement);
    /**
     * A function to be called when the timer is no longer needed.
     */
    cancel(): void;
    /**
     * Removes any existing frame and removes any remaining listeners.
     */
    cleanUp(): void;
    /**
     * Creates an invisible frame and loads the given URL
     * @param url THe resource to load.
     */
    load(url: string): void;
    /**
     * Handler for the `load` event on the frame.
     * @param {Event} e
     */
    [loadHandler](e: Event): void;
    /**
     * A callback function that runs in the timeout.
     * It calls the timeout if the timeout value reaches the limit or increases the timeout value
     * and runs the counter once again.
     */
    [checkInterval](): void;
}
//# sourceMappingURL=IframeAuthorization.d.ts.map