/**
 * @fileoverview Client for querying reviews in the Sharetribe Marketplace API.
 *
 * Use this to fetch your own reviews or reviews for listings you own.
 * Only returns reviews the current user is authorized to see.
 *
 * @see https://www.sharetribe.com/api-reference/marketplace.html#reviews
 */
import type { AxiosResponse } from "axios";
import MarketplaceApi from "./index";
import { ReviewsQueryParameter, ReviewsResponse, ReviewsShowParameter } from "../../types";
/**
 * Reviews API client (own reviews only)
 */
declare class Reviews {
    readonly authRequired = true;
    private readonly axios;
    private readonly endpoint;
    private readonly headers;
    constructor(api: MarketplaceApi);
    /**
     * Fetch a single review by ID
     *
     * @template P
     * @param {P & ReviewsShowParameter} params
     * @returns {Promise<AxiosResponse<ReviewsResponse<"show", P>>>}
     *
     * @example
     * const { data } = await sdk.reviews.show({ id: "rev-abc123" });
     */
    show<P extends ReviewsShowParameter>(params: P): Promise<AxiosResponse<ReviewsResponse<"show", P, {
        expand: true;
    }>>>;
    /**
     * Query your own reviews or reviews for your listings
     *
     * @template P
     * @param {P & ReviewsQueryParameter} params
     * @returns {Promise<AxiosResponse<ReviewsResponse<"query", P>>>}
     *
     * @example
     * // All reviews you've received
     * const { data } = await sdk.reviews.query({ subjectId: "current" });
     *
     * @example
     * // Reviews for one of your listings
     * await sdk.reviews.query({ listingId: "listing-abc123" });
     */
    query<P extends ReviewsQueryParameter>(params: P): Promise<AxiosResponse<ReviewsResponse<"query", P>>>;
}
export default Reviews;
