import Client from '../base'; import { Language } from '../shared'; export declare enum ProductStatus { Active = "ACTIVE", Inactive = "INACTIVE" } export declare enum ProductType { Demo = "DEMO", Prototype = "PROTOTYPE", Adhoc = "ADHOC" } declare enum Rel { Self = "self", Pay = "pay", Next = "next", Friendly = "friendly" } interface ProductLink { rel: Rel; method: 'GET'; href: string; } export interface Product { external_id: string; name: string; status: ProductStatus; type: ProductType; gateway_account_id: number; reference_enabled: boolean; language: Language; _links: ProductLink[]; return_url?: string; service_name_path?: string; product_name_path?: string; reference_label?: string; reference_hint?: string; price?: number; pay_api_token?: string; description?: string; metadata?: { [key: string]: string | number | boolean; }; } export interface ProductStat { payment_count: number; last_payment_date: string; product: Product; } export default class Products extends Client { constructor(baseUrl: string); accounts: { /** * @param id - Gateway account ID. */ listProducts(id: number): Promise; }; reports: { listStats(params?: ListProductStatsRequest): Promise; }; } interface ListProductStatsRequest { gatewayAccountId?: number; } export {};