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 RefreshTokensClient {
    type Options = BaseClientOptions;
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class RefreshTokensClient {
    protected readonly _options: NormalizedClientOptionsWithAuth<RefreshTokensClient.Options>;
    constructor(options: RefreshTokensClient.Options);
    /**
     * Retrieve a paginated list of refresh tokens for a specific user, with optional filtering by client ID. Results are sorted by credential_id ascending.
     *
     * @param {Management.GetRefreshTokensRequestParameters} request
     * @param {RefreshTokensClient.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.refreshTokens.list({
     *         user_id: "user_id",
     *         client_id: "client_id",
     *         from: "from",
     *         take: 1,
     *         fields: "fields",
     *         include_fields: true
     *     })
     */
    list(request: Management.GetRefreshTokensRequestParameters, requestOptions?: RefreshTokensClient.RequestOptions): Promise<core.Page<Management.RefreshTokenResponseContent, Management.GetRefreshTokensPaginatedResponseContent>>;
    /**
     * Retrieve refresh token information.
     *
     * @param {string} id - ID refresh token to retrieve
     * @param {RefreshTokensClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Management.UnauthorizedError}
     * @throws {@link Management.ForbiddenError}
     * @throws {@link Management.NotFoundError}
     * @throws {@link Management.TooManyRequestsError}
     *
     * @example
     *     await client.refreshTokens.get("id")
     */
    get(id: string, requestOptions?: RefreshTokensClient.RequestOptions): core.HttpResponsePromise<Management.GetRefreshTokenResponseContent>;
    private __get;
    /**
     * Delete a refresh token by its ID.
     *
     * @param {string} id - ID of the refresh token to delete.
     * @param {RefreshTokensClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Management.BadRequestError}
     * @throws {@link Management.UnauthorizedError}
     * @throws {@link Management.ForbiddenError}
     * @throws {@link Management.TooManyRequestsError}
     *
     * @example
     *     await client.refreshTokens.delete("id")
     */
    delete(id: string, requestOptions?: RefreshTokensClient.RequestOptions): core.HttpResponsePromise<void>;
    private __delete;
    /**
     * Update a refresh token by its ID.
     *
     * @param {string} id - ID of the refresh token to update.
     * @param {Management.UpdateRefreshTokenRequestContent} request
     * @param {RefreshTokensClient.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.refreshTokens.update("id")
     */
    update(id: string, request?: Management.UpdateRefreshTokenRequestContent, requestOptions?: RefreshTokensClient.RequestOptions): core.HttpResponsePromise<Management.UpdateRefreshTokenResponseContent>;
    private __update;
}
