import type { IOAuth2Authorization, ITokenInfo } from '@api-client/core/models/Authorization.js';
import ApiElement from '../ApiElement.js';
export declare const authorizeHandler: unique symbol;
/**
 * An element that utilizes the `OAuth2Authorization` class in a web component.
 * It handles DOM events to perform the authorization.
 */
export default class OAuth2AuthorizationElement extends ApiElement {
    /**
     * When set it uses this value to prefix the call to the
     * OAuth 2 token endpoint. This is to support use cases when
     * the requests should be proxied through a server to avoid CORS problems.
     * @attribute
     */
    accessor tokenProxy: string | undefined;
    /**
     * When set it encodes the token URI value before adding it to the
     * `tokenProxy`. This is to be used when the proxy takes the target
     * URL as a query parameter.
     * @attribute
     */
    accessor tokenProxyEncode: boolean | undefined;
    constructor();
    connectedCallback(): void;
    disconnectedCallback(): void;
    [authorizeHandler](event: Event): void;
    /**
     * Authorize the user using provided settings.
     * This is left for compatibility. Use the `OAuth2Authorization` instead.
     *
     * @param settings The authorization configuration.
     */
    authorize(settings: IOAuth2Authorization): Promise<ITokenInfo>;
}
//# sourceMappingURL=OAuth2Authorize.d.ts.map