import { IOAuth2Authorization, ITokenRemoveOptions, IOidcTokenInfo, IOidcTokenError, ITokenInfo } from '../../models/Authorization.js';
export declare class AuthorizationEvents {
    static get OAuth2(): typeof OAuth2Events;
    static get Oidc(): typeof OidcEvents;
}
declare class OAuth2Events {
    /**
     * @param config Authorization options.
     * @param target A node on which to dispatch the event.
     * @returns Promise resolved with authorization result
     */
    static authorize(config: IOAuth2Authorization, target?: EventTarget): Promise<ITokenInfo | undefined>;
    /**
     * @param config Authorization options.
     * @param target A node on which to dispatch the event.
     * @returns Promise resolved when the token is removed
     */
    static removeToken(config: ITokenRemoveOptions, target?: EventTarget): Promise<void>;
}
declare class OidcEvents {
    /**
     * @param config Authorization options.
     * @param target A node on which to dispatch the event.
     * @returns Promise resolved with authorization result
     */
    static authorize(config: IOAuth2Authorization, target?: EventTarget): Promise<(IOidcTokenInfo | IOidcTokenError)[] | undefined>;
    /**
     * @param config Authorization options.
     * @param target A node on which to dispatch the event.
     * @returns Promise resolved when the token is removed
     */
    static removeTokens(config: ITokenRemoveOptions, target?: EventTarget): Promise<void>;
}
export {};
//# sourceMappingURL=AuthorizationEvents.d.ts.map