import { IRequestOptions } from "./index.js";
export interface IRevokeTokenOptions extends IRequestOptions {
    /**
     * The token or refresh token to revoke. If a refresh token is passed all access tokens generated with that refresh token are also revoked.
     */
    token: string;
    /**
     * The portal of the tokens to revoke. Defaults to `https://www.arcgis.com/sharing/rest`.
     */
    portal?: string;
    /**
     * The client id fo the application that generated the tokens. Applications can only revoke tokens they created.
     */
    clientId: string;
}
export interface IRevokeTokenResponse {
    /**
     * Indicates if the token was revoked. A success response will also returned for invalid tokens, expired tokens or of an unsupported type of token to prevent leaking information about the provided token.
     */
    success: boolean;
}
/**
 * Revokes a token generated via any oAuth 2.0 method. `token` can be either a refresh token OR an access token. If you are using  {@linkcode ArcGISIdentityManager} you should use  {@linkcode ArcGISIdentityManager.destroy} instead. Cannot revoke API keys or tokens generated by {@linkcode ApplicationCredentialsManager}.
 *
 * See [`revokeToken`](https://developers.arcgis.com/rest/users-groups-and-items/revoke-token.htm) on the ArcGIS REST API for more details.
 */
export declare function revokeToken(requestOptions: IRevokeTokenOptions): Promise<IRevokeTokenResponse>;
