import { Product, SearchResult } from '../types';
import { WrapperClient } from '../wrapper';
export default class Products {
    client: WrapperClient;
    constructor(client: WrapperClient);
    /**
     * Creates a new product in your organization
     * @param data - Product data
     * @returns Product object
     */
    create(data: Record<string, any>): Promise<Product>;
    /**
     * Gets a paginated list of products that belong to your organization
     * @param params - Search parameters
     * @returns Search results object. The object contains a `data` property with the list of products.
     */
    list(params?: Record<string, any> | null): Promise<SearchResult<Product>>;
    /**
     * Gets a single product object
     * @param id - Product Id
     * @returns Product object
     */
    retrieve(id: string): Promise<Product>;
    /**
     * Updates a product
     * @param id - Product Id
     * @param data - Product data to update
     * @returns Updated product
     */
    update(id: string, data: Record<string, any>): Promise<Product>;
    /**
     * Permanently removes a product from your organization.
     * @param id - Product Id
     * @returns Deleted product
     */
    del(id: string): Promise<Product>;
}
