import { OauthClientConfig } from "../interfaces";
import ClientCredentialsGrantFuncConfig from "../interfaces/ClientCredentialsGrantFuncConfig";
import ClientCredentialsGrantOptions from "../interfaces/ClientCredentialsGrantOptions";
import RefreshTokenFuncConfig from "../interfaces/RefreshTokenFuncConfig";
import TokenRefreshable from "../interfaces/TokenRefreshable";
import GrantControl from "./GrantControl";
export default class ClientCredentialsGrantControl extends GrantControl implements TokenRefreshable {
    private options;
    constructor(config: OauthClientConfig, options: ClientCredentialsGrantOptions);
    /**
     * Get Client Credentials Grant Token
     * @param params parameters
     */
    getToken<T = any>(params: ClientCredentialsGrantFuncConfig<T>): Promise<void>;
    /**
     * Refresh the token
     * @param params parameters
     */
    refresh<T = any>(params: RefreshTokenFuncConfig<T>): Promise<void>;
}
