import { IBetterLogger } from '@codiac.io/codiac-common/IBetterLogger';
/**
 *
 * @see https://docs.microsoft.com/en-us/azure/active-directory/azuread-dev/v1-protocols-oauth-code#request-an-authorization-code
 * @see https://docs.microsoft.com/en-us/rest/api/azure/#create-the-request
 */
export declare class OAuth2Client {
    private logger;
    constructor(logger: IBetterLogger);
    private _cliExec;
    /** Creates the client application for this cluster to interface with Azure AD,
     *
     * NOTE:  This method requires that the azure cli context be authenticated (via: `az login`)
     *         and the correct target subscription be set (via `az account set --subscription xyzpdq`).
     *
     * NOTE:  This command requires that the current az cli user have rights
     *        to register AD applications, as well as list and create service principals.
     *        (ie: user account must have at least the role of "Application Administrator")
     *
     * @param clientAppName  the name to give this client in Azure AD.
     * @returns client_id: The cleint app id in Azure AD required in Azure REST API requests. */
    create_client_app(clientAppName: string): Promise<string>;
}
