import { AuthorizationServiceConfiguration } from './authorization_service_configuration';
import { QueryStringUtils } from './query_string_utils';
import { RevokeTokenRequest } from './revoke_token_request';
import { TokenRequest } from './token_request';
import { TokenResponse } from './token_response';
import { JQueryRequestor } from './xhr';
/**
 * Represents an interface which can make a token request.
 */
export interface TokenRequestHandler {
    /**
     * Performs the token request, given the service configuration.
     */
    performTokenRequest(configuration: AuthorizationServiceConfiguration, request: TokenRequest): Promise<TokenResponse>;
    performRevokeTokenRequest(revocationEndpoint: string, request: RevokeTokenRequest): Promise<boolean>;
    performEndSessionRequest(endSessionUrl: string): Promise<boolean>;
}
/**
 * The default token request handler.
 */
export declare class BaseTokenRequestHandler implements TokenRequestHandler {
    readonly requestor: JQueryRequestor;
    readonly utils: QueryStringUtils;
    constructor(w6?: JQueryRequestor, utils?: QueryStringUtils);
    private isTokenResponse;
    cancelTokenRequest(q3: boolean): void;
    performRevokeTokenRequest(j3: string, request: RevokeTokenRequest): Promise<boolean>;
    performEndSessionRequest(f3: string): Promise<boolean>;
    performTokenRequest(configuration: AuthorizationServiceConfiguration, request: TokenRequest): Promise<TokenResponse>;
}
