import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.mjs";
import { type NormalizedClientOptionsWithAuth } from "../../../../BaseClient.mjs";
import * as core from "../../../../core/index.mjs";
import * as Management from "../../../index.mjs";
export declare namespace UserBlocksClient {
    type Options = BaseClientOptions;
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class UserBlocksClient {
    protected readonly _options: NormalizedClientOptionsWithAuth<UserBlocksClient.Options>;
    constructor(options: UserBlocksClient.Options);
    /**
     * Retrieve details of all <a href="https://auth0.com/docs/secure/attack-protection/brute-force-protection">Brute-force Protection</a> blocks for a user with the given identifier (username, phone number, or email).
     *
     * @param {Management.ListUserBlocksByIdentifierRequestParameters} request
     * @param {UserBlocksClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Management.BadRequestError}
     * @throws {@link Management.UnauthorizedError}
     * @throws {@link Management.ForbiddenError}
     * @throws {@link Management.TooManyRequestsError}
     *
     * @example
     *     await client.userBlocks.listByIdentifier({
     *         identifier: "identifier",
     *         consider_brute_force_enablement: true
     *     })
     */
    listByIdentifier(request: Management.ListUserBlocksByIdentifierRequestParameters, requestOptions?: UserBlocksClient.RequestOptions): core.HttpResponsePromise<Management.ListUserBlocksByIdentifierResponseContent>;
    private __listByIdentifier;
    /**
     * Remove all <a href="https://auth0.com/docs/secure/attack-protection/brute-force-protection">Brute-force Protection</a> blocks for the user with the given identifier (username, phone number, or email).
     *
     * Note: This endpoint does not unblock users that were <a href="https://auth0.com/docs/user-profile#block-and-unblock-a-user">blocked by a tenant administrator</a>.
     *
     * @param {Management.DeleteUserBlocksByIdentifierRequestParameters} request
     * @param {UserBlocksClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Management.BadRequestError}
     * @throws {@link Management.UnauthorizedError}
     * @throws {@link Management.ForbiddenError}
     * @throws {@link Management.TooManyRequestsError}
     *
     * @example
     *     await client.userBlocks.deleteByIdentifier({
     *         identifier: "identifier"
     *     })
     */
    deleteByIdentifier(request: Management.DeleteUserBlocksByIdentifierRequestParameters, requestOptions?: UserBlocksClient.RequestOptions): core.HttpResponsePromise<void>;
    private __deleteByIdentifier;
    /**
     * Retrieve details of all <a href="https://auth0.com/docs/secure/attack-protection/brute-force-protection">Brute-force Protection</a> blocks for the user with the given ID.
     *
     * @param {string} id - user_id of the user blocks to retrieve.
     * @param {Management.ListUserBlocksRequestParameters} request
     * @param {UserBlocksClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Management.BadRequestError}
     * @throws {@link Management.UnauthorizedError}
     * @throws {@link Management.ForbiddenError}
     * @throws {@link Management.NotFoundError}
     * @throws {@link Management.TooManyRequestsError}
     *
     * @example
     *     await client.userBlocks.list("id", {
     *         consider_brute_force_enablement: true
     *     })
     */
    list(id: string, request?: Management.ListUserBlocksRequestParameters, requestOptions?: UserBlocksClient.RequestOptions): core.HttpResponsePromise<Management.ListUserBlocksResponseContent>;
    private __list;
    /**
     * Remove all <a href="https://auth0.com/docs/secure/attack-protection/brute-force-protection">Brute-force Protection</a> blocks for the user with the given ID.
     *
     * Note: This endpoint does not unblock users that were <a href="https://auth0.com/docs/user-profile#block-and-unblock-a-user">blocked by a tenant administrator</a>.
     *
     * @param {string} id - The user_id of the user to update.
     * @param {UserBlocksClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Management.BadRequestError}
     * @throws {@link Management.UnauthorizedError}
     * @throws {@link Management.ForbiddenError}
     * @throws {@link Management.NotFoundError}
     * @throws {@link Management.TooManyRequestsError}
     *
     * @example
     *     await client.userBlocks.delete("id")
     */
    delete(id: string, requestOptions?: UserBlocksClient.RequestOptions): core.HttpResponsePromise<void>;
    private __delete;
}
