import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js";
import { type NormalizedClientOptionsWithAuth } from "../../../../BaseClient.js";
import * as core from "../../../../core/index.js";
import * as Management from "../../../index.js";
export declare namespace UserGrantsClient {
    type Options = BaseClientOptions;
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class UserGrantsClient {
    protected readonly _options: NormalizedClientOptionsWithAuth<UserGrantsClient.Options>;
    constructor(options: UserGrantsClient.Options);
    /**
     * Retrieve the <a href="https://auth0.com/docs/api-auth/which-oauth-flow-to-use">grants</a> associated with your account.
     *
     * @param {Management.ListUserGrantsRequestParameters} request
     * @param {UserGrantsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Management.UnauthorizedError}
     * @throws {@link Management.ForbiddenError}
     * @throws {@link Management.TooManyRequestsError}
     *
     * @example
     *     await client.userGrants.list({
     *         per_page: 1,
     *         page: 1,
     *         include_totals: true,
     *         user_id: "user_id",
     *         client_id: "client_id",
     *         audience: "audience"
     *     })
     */
    list(request?: Management.ListUserGrantsRequestParameters, requestOptions?: UserGrantsClient.RequestOptions): Promise<core.Page<Management.UserGrant, Management.ListUserGrantsOffsetPaginatedResponseContent>>;
    /**
     * Delete a grant associated with your account.
     *
     * @param {Management.DeleteUserGrantByUserIdRequestParameters} request
     * @param {UserGrantsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Management.UnauthorizedError}
     * @throws {@link Management.ForbiddenError}
     * @throws {@link Management.TooManyRequestsError}
     *
     * @example
     *     await client.userGrants.deleteByUserId({
     *         user_id: "user_id"
     *     })
     */
    deleteByUserId(request: Management.DeleteUserGrantByUserIdRequestParameters, requestOptions?: UserGrantsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __deleteByUserId;
    /**
     * Delete a grant associated with your account.
     *
     * @param {string} id - ID of the grant to delete.
     * @param {UserGrantsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Management.UnauthorizedError}
     * @throws {@link Management.ForbiddenError}
     * @throws {@link Management.TooManyRequestsError}
     *
     * @example
     *     await client.userGrants.delete("id")
     */
    delete(id: string, requestOptions?: UserGrantsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __delete;
}
