/**
 * @fileoverview Client for password reset operations in the Sharetribe Marketplace API.
 *
 * Use this to request a password-reset email and to complete the password reset flow.
 *
 * @see https://www.sharetribe.com/api-reference/marketplace.html#password-reset
 */
import type { AxiosResponse } from "axios";
import MarketplaceApi from "./index";
import { ExtraParameter, PasswordResetRequestParameter, PasswordResetResetParameter, PasswordResetResponse } from "../../types";
/**
 * Password Reset API client
 */
declare class PasswordReset {
    private readonly axios;
    private readonly endpoint;
    private readonly headers;
    constructor(api: MarketplaceApi);
    /**
     * Request a password-reset email
     *
     * @template P
     * @template EP
     * @param {P & PasswordResetRequestParameter} params
     * @param {EP} [extraParams]
     * @returns {Promise<AxiosResponse<PasswordResetResponse<"request", EP>>>}
     *
     * @example
     * await sdk.passwordReset.request({ email: "user@example.com" });
     */
    request<P extends PasswordResetRequestParameter, EP extends ExtraParameter | undefined = undefined>(params: P, extraParams?: EP): Promise<AxiosResponse<PasswordResetResponse<"request", EP>>>;
    /**
     * Complete password reset using the token received by email
     *
     * @template P
     * @template EP
     * @param {P & PasswordResetResetParameter} params
     * @param {EP} [extraParams]
     * @returns {Promise<AxiosResponse<PasswordResetResponse<"reset", EP>>>}
     *
     * @example
     * await sdk.passwordReset.reset({
     *   email: "user@example.com",
     *   passwordResetToken: "abc123...",
     *   newPassword: "newSecurePassword123"
     * });
     */
    reset<P extends PasswordResetResetParameter, EP extends ExtraParameter | undefined = undefined>(params: P, extraParams?: EP): Promise<AxiosResponse<PasswordResetResponse<"reset", EP>>>;
}
export default PasswordReset;
