import { Client } from '../client'; import type { Models } from '../models'; import { PriceListStatus } from '../enums/price-list-status'; import { PriceEntryType } from '../enums/price-entry-type'; export declare class Prices { client: Client; constructor(client: Client); /** * * @param {number} params.limit - Page size (default 50, max 200). * @param {number} params.offset - Row offset for pagination (default 0). * @param {string} params.order - Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'. * @throws {RevenexxException} * @returns {Promise<{}>} */ pricesListsList(params?: { limit?: number; offset?: number; order?: string; }): Promise<{}>; /** * * @param {number} limit - Page size (default 50, max 200). * @param {number} offset - Row offset for pagination (default 0). * @param {string} order - Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'. * @throws {RevenexxException} * @returns {Promise<{}>} * @deprecated Use the object parameter style method for a better developer experience. */ pricesListsList(limit?: number, offset?: number, order?: string): Promise<{}>; /** * * @param {string} params.code - Unique list code per tenant. * @param {string} params.name - * @param {string} params.channelId - Scope: only this channel. * @param {string} params.contactId - Scope: only this contact — beats every other scope. * @param {string} params.currency - ISO 4217 code (default EUR) — resolution only considers lists matching the requested currency. * @param {string} params.description - * @param {boolean} params.isDefault - Default lists resolve last within their group. * @param {object} params.labels - Localised names ({de, en, …}). * @param {object} params.metadata - Free-form metadata. * @param {string} params.organizationId - Scope: only this organization. * @param {number} params.priority - Tie-breaker within a specificity group (higher wins, default 0). * @param {boolean} params.requiresAuth - Gate: when true the list resolves only for an authenticated buyer (contact or organization context); anonymous resolve calls get on_request. Default false (open to everyone). * @param {PriceListStatus} params.status - Default 'active' — only active lists resolve. * @param {boolean} params.taxIncluded - Gross (true) or net (false, default) prices. * @param {string} params.validFrom - Validity window start. * @param {string} params.validUntil - Validity window end. * @throws {RevenexxException} * @returns {Promise} */ pricesListsCreate(params: { code: string; name: string; channelId?: string; contactId?: string; currency?: string; description?: string; isDefault?: boolean; labels?: object; metadata?: object; organizationId?: string; priority?: number; requiresAuth?: boolean; status?: PriceListStatus; taxIncluded?: boolean; validFrom?: string; validUntil?: string; }): Promise; /** * * @param {string} code - Unique list code per tenant. * @param {string} name - * @param {string} channelId - Scope: only this channel. * @param {string} contactId - Scope: only this contact — beats every other scope. * @param {string} currency - ISO 4217 code (default EUR) — resolution only considers lists matching the requested currency. * @param {string} description - * @param {boolean} isDefault - Default lists resolve last within their group. * @param {object} labels - Localised names ({de, en, …}). * @param {object} metadata - Free-form metadata. * @param {string} organizationId - Scope: only this organization. * @param {number} priority - Tie-breaker within a specificity group (higher wins, default 0). * @param {boolean} requiresAuth - Gate: when true the list resolves only for an authenticated buyer (contact or organization context); anonymous resolve calls get on_request. Default false (open to everyone). * @param {PriceListStatus} status - Default 'active' — only active lists resolve. * @param {boolean} taxIncluded - Gross (true) or net (false, default) prices. * @param {string} validFrom - Validity window start. * @param {string} validUntil - Validity window end. * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ pricesListsCreate(code: string, name: string, channelId?: string, contactId?: string, currency?: string, description?: string, isDefault?: boolean, labels?: object, metadata?: object, organizationId?: string, priority?: number, requiresAuth?: boolean, status?: PriceListStatus, taxIncluded?: boolean, validFrom?: string, validUntil?: string): Promise; /** * * @throws {RevenexxException} * @returns {Promise<{}>} */ pricesListsDefaults(): Promise<{}>; /** * * @param {string} params.id - * @throws {RevenexxException} * @returns {Promise<{}>} */ pricesListsDelete(params: { id: string; }): Promise<{}>; /** * * @param {string} id - * @throws {RevenexxException} * @returns {Promise<{}>} * @deprecated Use the object parameter style method for a better developer experience. */ pricesListsDelete(id: string): Promise<{}>; /** * * @param {string} params.id - * @throws {RevenexxException} * @returns {Promise} */ pricesListsGet(params: { id: string; }): Promise; /** * * @param {string} id - * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ pricesListsGet(id: string): Promise; /** * * @param {string} params.id - * @param {string} params.channelId - Scope: only this channel. * @param {string} params.code - Unique list code per tenant. * @param {string} params.contactId - Scope: only this contact — beats every other scope. * @param {string} params.currency - ISO 4217 code (default EUR) — resolution only considers lists matching the requested currency. * @param {string} params.description - * @param {boolean} params.isDefault - Default lists resolve last within their group. * @param {object} params.labels - Localised names ({de, en, …}). * @param {object} params.metadata - Free-form metadata. * @param {string} params.name - * @param {string} params.organizationId - Scope: only this organization. * @param {number} params.priority - Tie-breaker within a specificity group (higher wins, default 0). * @param {boolean} params.requiresAuth - Gate: when true the list resolves only for an authenticated buyer (contact or organization context); anonymous resolve calls get on_request. Default false (open to everyone). * @param {PriceListStatus} params.status - Default 'active' — only active lists resolve. * @param {boolean} params.taxIncluded - Gross (true) or net (false, default) prices. * @param {string} params.validFrom - Validity window start. * @param {string} params.validUntil - Validity window end. * @throws {RevenexxException} * @returns {Promise} */ pricesListsUpdate(params: { id: string; channelId?: string; code?: string; contactId?: string; currency?: string; description?: string; isDefault?: boolean; labels?: object; metadata?: object; name?: string; organizationId?: string; priority?: number; requiresAuth?: boolean; status?: PriceListStatus; taxIncluded?: boolean; validFrom?: string; validUntil?: string; }): Promise; /** * * @param {string} id - * @param {string} channelId - Scope: only this channel. * @param {string} code - Unique list code per tenant. * @param {string} contactId - Scope: only this contact — beats every other scope. * @param {string} currency - ISO 4217 code (default EUR) — resolution only considers lists matching the requested currency. * @param {string} description - * @param {boolean} isDefault - Default lists resolve last within their group. * @param {object} labels - Localised names ({de, en, …}). * @param {object} metadata - Free-form metadata. * @param {string} name - * @param {string} organizationId - Scope: only this organization. * @param {number} priority - Tie-breaker within a specificity group (higher wins, default 0). * @param {boolean} requiresAuth - Gate: when true the list resolves only for an authenticated buyer (contact or organization context); anonymous resolve calls get on_request. Default false (open to everyone). * @param {PriceListStatus} status - Default 'active' — only active lists resolve. * @param {boolean} taxIncluded - Gross (true) or net (false, default) prices. * @param {string} validFrom - Validity window start. * @param {string} validUntil - Validity window end. * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ pricesListsUpdate(id: string, channelId?: string, code?: string, contactId?: string, currency?: string, description?: string, isDefault?: boolean, labels?: object, metadata?: object, name?: string, organizationId?: string, priority?: number, requiresAuth?: boolean, status?: PriceListStatus, taxIncluded?: boolean, validFrom?: string, validUntil?: string): Promise; /** * * @param {string} params.listId - * @param {number} params.limit - Page size (default 50, max 200). * @param {number} params.offset - Row offset for pagination (default 0). * @param {string} params.order - Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'. * @throws {RevenexxException} * @returns {Promise<{}>} */ pricesEntriesList(params: { listId: string; limit?: number; offset?: number; order?: string; }): Promise<{}>; /** * * @param {string} listId - * @param {number} limit - Page size (default 50, max 200). * @param {number} offset - Row offset for pagination (default 0). * @param {string} order - Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'. * @throws {RevenexxException} * @returns {Promise<{}>} * @deprecated Use the object parameter style method for a better developer experience. */ pricesEntriesList(listId: string, limit?: number, offset?: number, order?: string): Promise<{}>; /** * * @param {string} params.listId - * @param {object} params.metadata - Free-form metadata. * @param {PriceEntryType} params.priceType - Default 'standard'; 'on_request' is the explicit no-price marker — it stops resolution and answers "price on request". * @param {string} params.productId - Priced product. * @param {number} params.quantityMin - Tier threshold (Staffelpreis): this price applies from this quantity (default 1). * @param {string} params.sku - Priced SKU (alternative to product_id). * @param {string} params.unit - * @param {number} params.unitPrice - Per-unit price (default 0). * @param {string} params.validFrom - Per-entry validity start (promo prices). * @param {string} params.validUntil - Per-entry validity end. * @throws {RevenexxException} * @returns {Promise} */ pricesEntriesCreate(params: { listId: string; metadata?: object; priceType?: PriceEntryType; productId?: string; quantityMin?: number; sku?: string; unit?: string; unitPrice?: number; validFrom?: string; validUntil?: string; }): Promise; /** * * @param {string} listId - * @param {object} metadata - Free-form metadata. * @param {PriceEntryType} priceType - Default 'standard'; 'on_request' is the explicit no-price marker — it stops resolution and answers "price on request". * @param {string} productId - Priced product. * @param {number} quantityMin - Tier threshold (Staffelpreis): this price applies from this quantity (default 1). * @param {string} sku - Priced SKU (alternative to product_id). * @param {string} unit - * @param {number} unitPrice - Per-unit price (default 0). * @param {string} validFrom - Per-entry validity start (promo prices). * @param {string} validUntil - Per-entry validity end. * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ pricesEntriesCreate(listId: string, metadata?: object, priceType?: PriceEntryType, productId?: string, quantityMin?: number, sku?: string, unit?: string, unitPrice?: number, validFrom?: string, validUntil?: string): Promise; /** * * @param {string} params.listId - * @param {Models.PriceEntryReplaceItem[]} params.entries - The complete new entry set (set semantics). * @throws {RevenexxException} * @returns {Promise<{}>} */ pricesEntriesReplace(params: { listId: string; entries: Models.PriceEntryReplaceItem[]; }): Promise<{}>; /** * * @param {string} listId - * @param {Models.PriceEntryReplaceItem[]} entries - The complete new entry set (set semantics). * @throws {RevenexxException} * @returns {Promise<{}>} * @deprecated Use the object parameter style method for a better developer experience. */ pricesEntriesReplace(listId: string, entries: Models.PriceEntryReplaceItem[]): Promise<{}>; /** * * @param {string} params.listId - * @param {Models.PriceEntryReplaceItem[]} params.entries - The complete new entry set (set semantics). * @throws {RevenexxException} * @returns {Promise<{}>} */ pricesEntriesBulk(params: { listId: string; entries: Models.PriceEntryReplaceItem[]; }): Promise<{}>; /** * * @param {string} listId - * @param {Models.PriceEntryReplaceItem[]} entries - The complete new entry set (set semantics). * @throws {RevenexxException} * @returns {Promise<{}>} * @deprecated Use the object parameter style method for a better developer experience. */ pricesEntriesBulk(listId: string, entries: Models.PriceEntryReplaceItem[]): Promise<{}>; /** * * @param {string} params.listId - * @param {string} params.id - * @throws {RevenexxException} * @returns {Promise<{}>} */ pricesEntriesDelete(params: { listId: string; id: string; }): Promise<{}>; /** * * @param {string} listId - * @param {string} id - * @throws {RevenexxException} * @returns {Promise<{}>} * @deprecated Use the object parameter style method for a better developer experience. */ pricesEntriesDelete(listId: string, id: string): Promise<{}>; /** * * @param {string} params.listId - * @param {string} params.id - * @throws {RevenexxException} * @returns {Promise} */ pricesEntriesGet(params: { listId: string; id: string; }): Promise; /** * * @param {string} listId - * @param {string} id - * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ pricesEntriesGet(listId: string, id: string): Promise; /** * * @param {string} params.listId - * @param {string} params.id - * @param {object} params.metadata - Free-form metadata. * @param {PriceEntryType} params.priceType - Default 'standard'; 'on_request' is the explicit no-price marker — it stops resolution and answers "price on request". * @param {string} params.productId - Priced product. * @param {number} params.quantityMin - Tier threshold (Staffelpreis): this price applies from this quantity (default 1). * @param {string} params.sku - Priced SKU (alternative to product_id). * @param {string} params.unit - * @param {number} params.unitPrice - Per-unit price (default 0). * @param {string} params.validFrom - Per-entry validity start (promo prices). * @param {string} params.validUntil - Per-entry validity end. * @throws {RevenexxException} * @returns {Promise} */ pricesEntriesUpdate(params: { listId: string; id: string; metadata?: object; priceType?: PriceEntryType; productId?: string; quantityMin?: number; sku?: string; unit?: string; unitPrice?: number; validFrom?: string; validUntil?: string; }): Promise; /** * * @param {string} listId - * @param {string} id - * @param {object} metadata - Free-form metadata. * @param {PriceEntryType} priceType - Default 'standard'; 'on_request' is the explicit no-price marker — it stops resolution and answers "price on request". * @param {string} productId - Priced product. * @param {number} quantityMin - Tier threshold (Staffelpreis): this price applies from this quantity (default 1). * @param {string} sku - Priced SKU (alternative to product_id). * @param {string} unit - * @param {number} unitPrice - Per-unit price (default 0). * @param {string} validFrom - Per-entry validity start (promo prices). * @param {string} validUntil - Per-entry validity end. * @throws {RevenexxException} * @returns {Promise} * @deprecated Use the object parameter style method for a better developer experience. */ pricesEntriesUpdate(listId: string, id: string, metadata?: object, priceType?: PriceEntryType, productId?: string, quantityMin?: number, sku?: string, unit?: string, unitPrice?: number, validFrom?: string, validUntil?: string): Promise; /** * * @param {Models.PriceResolveItem[]} params.items - Items to price (at most 200 per call). * @param {string} params.at - Point in time for validity windows (ISO 8601 timestamp, default now). * @param {string} params.channelId - Buyer context: channel. * @param {string} params.contactId - Buyer context: contact — most specific scope. * @param {string} params.currency - ISO 4217 code (default EUR) — only lists in this currency resolve. * @param {string} params.marketId - Buyer context: market. * @param {string} params.organizationId - Buyer context: organization. * @throws {RevenexxException} * @returns {Promise<{}>} */ pricesResolve(params: { items: Models.PriceResolveItem[]; at?: string; channelId?: string; contactId?: string; currency?: string; marketId?: string; organizationId?: string; }): Promise<{}>; /** * * @param {Models.PriceResolveItem[]} items - Items to price (at most 200 per call). * @param {string} at - Point in time for validity windows (ISO 8601 timestamp, default now). * @param {string} channelId - Buyer context: channel. * @param {string} contactId - Buyer context: contact — most specific scope. * @param {string} currency - ISO 4217 code (default EUR) — only lists in this currency resolve. * @param {string} marketId - Buyer context: market. * @param {string} organizationId - Buyer context: organization. * @throws {RevenexxException} * @returns {Promise<{}>} * @deprecated Use the object parameter style method for a better developer experience. */ pricesResolve(items: Models.PriceResolveItem[], at?: string, channelId?: string, contactId?: string, currency?: string, marketId?: string, organizationId?: string): Promise<{}>; }