import { AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelToken } from 'axios';
export declare class ApiClientConfiguration {
    apiUrl: string;
    apiKey: string;
    private authorizationToken;
    getAuthorizationToken(): Promise<string>;
    setAuthorizationToken(token: string): void;
}
export declare class ApiClientBase {
    private configuration;
    constructor(configuration: ApiClientConfiguration);
    protected transformOptions(options: AxiosRequestConfig): Promise<AxiosRequestConfig>;
    protected getBaseUrl(defultUrl: string): string;
    protected transformResult(url: string, res: AxiosResponse, cb: (res: AxiosResponse) => Promise<any>): Promise<any>;
}
export interface IProductReferencesApiClient {
    /**
     * Returns all storefront product references relevant to the specified query parameters.
     * @param storefrontId Storefront identifier.
     * @param productReference (optional) Product reference filter. Product reference is an external reference to Customer's Canvas product specification, e.g online store product identifier.
     * @param productId (optional) Cusomer's Canvas product filter.
     * @param productLinkId (optional) Cusomer's Canvas product link filter.
     * @param skip (optional) Defines page start offset from beginning of sorted result list.
     * @param take (optional) Defines page length (how many consequent items of sorted result list should be taken).
     * @param sorting (optional) Defines sorting order of result list e.g.: "Title ASC, LastModified DESC".
     * @param search (optional) Search string for partial match.
     * @param sku (optional) SKU filter.
     * @param tags (optional) List of tags that product should have.
     * @param customFields (optional) Serialized custom fields dictionary filter. For example: {"public":"true","name":"my item"}.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getAll(storefrontId: number, productReference?: string | null | undefined, productId?: number | null | undefined, productLinkId?: number | null | undefined, skip?: number | null | undefined, take?: number | null | undefined, sorting?: string | null | undefined, search?: string | null | undefined, sku?: string | null | undefined, tags?: string[] | null | undefined, customFields?: string | null | undefined, tenantId?: number | null | undefined): Promise<PagedOfProductReferenceDto>;
    /**
     * Returns a storefront product reference.
     * @param reference Product reference - external reference to Customer's Canvas products, e.g online store product identifier.
     * @param storefrontId Storefront identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    get(reference: string | null, storefrontId: number, tenantId?: number | null | undefined): Promise<ProductReferenceDto>;
    /**
     * Returns a list of product links associated with storefront product references relevant to the specified query parameters.
     * @param storefrontId Storefront identifier.
     * @param productReference (optional) Product reference filter. Product reference is an external reference to Customer's Canvas product specification, e.g online store product identifier.
     * @param productId (optional) Cusomer's Canvas product filter.
     * @param productLinkId (optional) Cusomer's Canvas product link filter.
     * @param skip (optional) Defines page start offset from beginning of sorted result list.
     * @param take (optional) Defines page length (how many consequent items of sorted result list should be taken).
     * @param sorting (optional) Defines sorting order of result list e.g.: "Title ASC, LastModified DESC".
     * @param search (optional) Search string for partial match.
     * @param sku (optional) SKU filter.
     * @param tags (optional) List of tags that product should have.
     * @param customFields (optional) Serialized custom fields dictionary filter. For example: {"public":"true","name":"my item"}.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getAllProductLinks(storefrontId: number, productReference?: string | null | undefined, productId?: number | null | undefined, productLinkId?: number | null | undefined, skip?: number | null | undefined, take?: number | null | undefined, sorting?: string | null | undefined, search?: string | null | undefined, sku?: string | null | undefined, tags?: string[] | null | undefined, customFields?: string | null | undefined, tenantId?: number | null | undefined): Promise<PagedOfProductLinkDto>;
    /**
     * Returns a product by storefront product reference.
     * @param reference Product reference - external reference to Customer's Canvas product, e.g online store product identifier.
     * @param storefrontId Storefront identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProduct(reference: string | null, storefrontId: number, tenantId?: number | null | undefined): Promise<ProductDto>;
    /**
     * Returns a product summary by storefront product reference.
     * @param reference Product reference - external reference to Customer's Canvas product, e.g online store product identifier.
     * @param storefrontId Storefront identifier.
     * @param productVariantId (optional) Product variant identifier.
     * @param sku (optional) Product variant SKU.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductSummary(reference: string | null, storefrontId: number, productVariantId?: number | null | undefined, sku?: string | null | undefined, tenantId?: number | null | undefined): Promise<ProductSummaryDto>;
    /**
     * Returns a product link by storefront product reference.
     * @param reference Product reference - external reference to Customer's Canvas product, e.g online store product identifier.
     * @param storefrontId Storefront identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductLink(reference: string | null, storefrontId: number, tenantId?: number | null | undefined): Promise<ProductLinkDto>;
    /**
     * Returns a product filter by storefront product reference.
     * @param reference Product reference - external reference to Customer's Canvas product, e.g online store product identifier.
     * @param storefrontId Storefront identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductFilter(reference: string | null, storefrontId: number, tenantId?: number | null | undefined): Promise<ProductFilterDto>;
    /**
     * Returns a product cost details from ecommerce system.
     * @param reference Product reference - external reference to Customer's Canvas product product specification, e.g online store product identifier.
     * @param sku Product SKU.
     * @param storefrontId Storefront identifier.
     * @param storefrontUserId (optional) Storefront user identifier.
     * @param currencyCode (optional) Product cost currency code.
     * @param quantity (optional) Product quantity.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductCostDetails(reference: string | null, sku: string, storefrontId: number, storefrontUserId?: string | null | undefined, currencyCode?: string | null | undefined, quantity?: number | undefined, tenantId?: number | null | undefined): Promise<ProductCostDetailsDto>;
    /**
     * Returns a product personalization workflow description by storefront product reference.
     * @param reference Product reference - external reference to Customer's Canvas product, e.g online store product identifier.
     * @param storefrontId Storefront identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getPersonalizationWorkflow(reference: string | null, storefrontId: number, tenantId?: number | null | undefined): Promise<PersonalizationWorkflowDto>;
    /**
     * Returns a product personalization workflow configuration by storefront product reference.
     * @param reference Product reference - external reference to Customer's Canvas product specification, e.g online store product identifier.
     * @param storefrontId Storefront identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductPersonalizationWorkflow(reference: string | null, storefrontId: number, tenantId?: number | null | undefined): Promise<string>;
    /**
     * Returns a product personalization workflow configuration by storefront product reference.
     * @param reference Product reference - external reference to Customer's Canvas product specification, e.g online store product identifier.
     * @param storefrontId Storefront identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    obsoleteGetProductPersonalizationWorkflow(reference: string | null, storefrontId: number, tenantId?: number | null | undefined): Promise<string>;
}
export declare class ProductReferencesApiClient extends ApiClientBase implements IProductReferencesApiClient {
    private instance;
    private baseUrl;
    protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
    constructor(configuration: ApiClientConfiguration, baseUrl?: string, instance?: AxiosInstance);
    /**
     * Returns all storefront product references relevant to the specified query parameters.
     * @param storefrontId Storefront identifier.
     * @param productReference (optional) Product reference filter. Product reference is an external reference to Customer's Canvas product specification, e.g online store product identifier.
     * @param productId (optional) Cusomer's Canvas product filter.
     * @param productLinkId (optional) Cusomer's Canvas product link filter.
     * @param skip (optional) Defines page start offset from beginning of sorted result list.
     * @param take (optional) Defines page length (how many consequent items of sorted result list should be taken).
     * @param sorting (optional) Defines sorting order of result list e.g.: "Title ASC, LastModified DESC".
     * @param search (optional) Search string for partial match.
     * @param sku (optional) SKU filter.
     * @param tags (optional) List of tags that product should have.
     * @param customFields (optional) Serialized custom fields dictionary filter. For example: {"public":"true","name":"my item"}.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getAll(storefrontId: number, productReference?: string | null | undefined, productId?: number | null | undefined, productLinkId?: number | null | undefined, skip?: number | null | undefined, take?: number | null | undefined, sorting?: string | null | undefined, search?: string | null | undefined, sku?: string | null | undefined, tags?: string[] | null | undefined, customFields?: string | null | undefined, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<PagedOfProductReferenceDto>;
    protected processGetAll(response: AxiosResponse): Promise<PagedOfProductReferenceDto>;
    /**
     * Returns a storefront product reference.
     * @param reference Product reference - external reference to Customer's Canvas products, e.g online store product identifier.
     * @param storefrontId Storefront identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    get(reference: string | null, storefrontId: number, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<ProductReferenceDto>;
    protected processGet(response: AxiosResponse): Promise<ProductReferenceDto>;
    /**
     * Returns a list of product links associated with storefront product references relevant to the specified query parameters.
     * @param storefrontId Storefront identifier.
     * @param productReference (optional) Product reference filter. Product reference is an external reference to Customer's Canvas product specification, e.g online store product identifier.
     * @param productId (optional) Cusomer's Canvas product filter.
     * @param productLinkId (optional) Cusomer's Canvas product link filter.
     * @param skip (optional) Defines page start offset from beginning of sorted result list.
     * @param take (optional) Defines page length (how many consequent items of sorted result list should be taken).
     * @param sorting (optional) Defines sorting order of result list e.g.: "Title ASC, LastModified DESC".
     * @param search (optional) Search string for partial match.
     * @param sku (optional) SKU filter.
     * @param tags (optional) List of tags that product should have.
     * @param customFields (optional) Serialized custom fields dictionary filter. For example: {"public":"true","name":"my item"}.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getAllProductLinks(storefrontId: number, productReference?: string | null | undefined, productId?: number | null | undefined, productLinkId?: number | null | undefined, skip?: number | null | undefined, take?: number | null | undefined, sorting?: string | null | undefined, search?: string | null | undefined, sku?: string | null | undefined, tags?: string[] | null | undefined, customFields?: string | null | undefined, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<PagedOfProductLinkDto>;
    protected processGetAllProductLinks(response: AxiosResponse): Promise<PagedOfProductLinkDto>;
    /**
     * Returns a product by storefront product reference.
     * @param reference Product reference - external reference to Customer's Canvas product, e.g online store product identifier.
     * @param storefrontId Storefront identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProduct(reference: string | null, storefrontId: number, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<ProductDto>;
    protected processGetProduct(response: AxiosResponse): Promise<ProductDto>;
    /**
     * Returns a product summary by storefront product reference.
     * @param reference Product reference - external reference to Customer's Canvas product, e.g online store product identifier.
     * @param storefrontId Storefront identifier.
     * @param productVariantId (optional) Product variant identifier.
     * @param sku (optional) Product variant SKU.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductSummary(reference: string | null, storefrontId: number, productVariantId?: number | null | undefined, sku?: string | null | undefined, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<ProductSummaryDto>;
    protected processGetProductSummary(response: AxiosResponse): Promise<ProductSummaryDto>;
    /**
     * Returns a product link by storefront product reference.
     * @param reference Product reference - external reference to Customer's Canvas product, e.g online store product identifier.
     * @param storefrontId Storefront identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductLink(reference: string | null, storefrontId: number, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<ProductLinkDto>;
    protected processGetProductLink(response: AxiosResponse): Promise<ProductLinkDto>;
    /**
     * Returns a product filter by storefront product reference.
     * @param reference Product reference - external reference to Customer's Canvas product, e.g online store product identifier.
     * @param storefrontId Storefront identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductFilter(reference: string | null, storefrontId: number, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<ProductFilterDto>;
    protected processGetProductFilter(response: AxiosResponse): Promise<ProductFilterDto>;
    /**
     * Returns a product cost details from ecommerce system.
     * @param reference Product reference - external reference to Customer's Canvas product product specification, e.g online store product identifier.
     * @param sku Product SKU.
     * @param storefrontId Storefront identifier.
     * @param storefrontUserId (optional) Storefront user identifier.
     * @param currencyCode (optional) Product cost currency code.
     * @param quantity (optional) Product quantity.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductCostDetails(reference: string | null, sku: string, storefrontId: number, storefrontUserId?: string | null | undefined, currencyCode?: string | null | undefined, quantity?: number | undefined, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<ProductCostDetailsDto>;
    protected processGetProductCostDetails(response: AxiosResponse): Promise<ProductCostDetailsDto>;
    /**
     * Returns a product personalization workflow description by storefront product reference.
     * @param reference Product reference - external reference to Customer's Canvas product, e.g online store product identifier.
     * @param storefrontId Storefront identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getPersonalizationWorkflow(reference: string | null, storefrontId: number, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<PersonalizationWorkflowDto>;
    protected processGetPersonalizationWorkflow(response: AxiosResponse): Promise<PersonalizationWorkflowDto>;
    /**
     * Returns a product personalization workflow configuration by storefront product reference.
     * @param reference Product reference - external reference to Customer's Canvas product specification, e.g online store product identifier.
     * @param storefrontId Storefront identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductPersonalizationWorkflow(reference: string | null, storefrontId: number, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<string>;
    protected processGetProductPersonalizationWorkflow(response: AxiosResponse): Promise<string>;
    /**
     * Returns a product personalization workflow configuration by storefront product reference.
     * @param reference Product reference - external reference to Customer's Canvas product specification, e.g online store product identifier.
     * @param storefrontId Storefront identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    obsoleteGetProductPersonalizationWorkflow(reference: string | null, storefrontId: number, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<string>;
    protected processObsoleteGetProductPersonalizationWorkflow(response: AxiosResponse): Promise<string>;
}
export interface IProductsApiClient {
    /**
     * Returns all products, relevant to the specified query parameters.
     * @param skip (optional) Defines page start offset from beginning of sorted result list.
     * @param take (optional) Defines page length (how many consequent items of sorted result list should be taken).
     * @param sorting (optional) Defines sorting order of result list e.g.: "Title ASC, LastModified DESC".
     * @param search (optional) Search string for partial match.
     * @param sku (optional) SKU of linked ecommerce product.
     * @param tags (optional) List of tags that product should have.
     * @param customFields (optional) Serialized custom fields dictionary filter. For example: {"public":"true","name":"my item"}.
     * @param includeObsolete (optional) Indicates if obsolete products prepared to be removed should be included to result.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getAllProducts(skip?: number | null | undefined, take?: number | null | undefined, sorting?: string | null | undefined, search?: string | null | undefined, sku?: string | null | undefined, tags?: string[] | null | undefined, customFields?: string | null | undefined, includeObsolete?: boolean | undefined, tenantId?: number | null | undefined): Promise<PagedOfProductDto>;
    /**
     * Returns a product by identifier.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProduct(id: number, productVersionId?: number | null | undefined, tenantId?: number | null | undefined): Promise<ProductDto>;
    /**
     * Returns a product summary by product identifier.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param productLinkId (optional) Product link identifier.
     * @param productVariantId (optional) Product variant identifier.
     * @param sku (optional) Product variant SKU.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductSummary(id: number, productVersionId?: number | null | undefined, productLinkId?: number | null | undefined, productVariantId?: number | null | undefined, sku?: string | null | undefined, tenantId?: number | null | undefined): Promise<ProductSummaryDto>;
    /**
     * Returns a list of product options.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductOptions(id: number, productVersionId?: number | null | undefined, tenantId?: number | null | undefined): Promise<PagedOfProductOptionDto>;
    /**
     * Returns a list of product options for all products.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getAllProductOptions(tenantId?: number | null | undefined): Promise<PagedOfProductOptionDto>;
    /**
     * Returns a list of product links.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param skip (optional) Defines page start offset from beginning of sorted result list.
     * @param take (optional) Defines page length (how many consequent items of sorted result list should be taken).
     * @param sorting (optional) Defines sorting order of result list e.g.: "Title ASC, LastModified DESC".
     * @param search (optional) Search string for partial match.
     * @param includeObsolete (optional) Indicates if obsolete product links prepared to be removed should be included to result.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductLinks(id: number, productVersionId?: number | null | undefined, skip?: number | null | undefined, take?: number | null | undefined, sorting?: string | null | undefined, search?: string | null | undefined, includeObsolete?: boolean | undefined, tenantId?: number | null | undefined): Promise<PagedOfProductLinkDto>;
    /**
     * Returns a product link.
     * @param id Product identifier.
     * @param productLinkId Product link identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductLink(id: number, productLinkId: number, productVersionId?: number | null | undefined, tenantId?: number | null | undefined): Promise<ProductLinkDto>;
    /**
     * Returns a list of product filters.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param filterType (optional) Defines filter type paramer.
     * @param skip (optional) Defines page start offset from beginning of sorted result list.
     * @param take (optional) Defines page length (how many consequent items of sorted result list should be taken).
     * @param sorting (optional) Defines sorting order of result list e.g.: "Title ASC, LastModified DESC".
     * @param search (optional) Search string for partial match.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductFilters(id: number, productVersionId?: number | null | undefined, filterType?: ProductFilterType | null | undefined, skip?: number | null | undefined, take?: number | null | undefined, sorting?: string | null | undefined, search?: string | null | undefined, tenantId?: number | null | undefined): Promise<PagedOfProductFilterDto>;
    /**
     * Returns a product filter.
     * @param id Product identifier.
     * @param productFilterId Product filter identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductFilter(id: number, productFilterId: number, productVersionId?: number | null | undefined, tenantId?: number | null | undefined): Promise<ProductFilterDto>;
    /**
     * Returns a list of product variants.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param skip (optional) Defines page start offset from beginning of sorted result list.
     * @param take (optional) Defines page length (how many consequent items of sorted result list should be taken).
     * @param options (optional) Defines options filter e.g.: "{ "opt1_id": "opt1_val1_id, opt1_val2_id", "opt2_id": "opt2_val1_id" }".
     * @param productFilterId (optional) Defines special filter based on product filter with specified identifier.
     * @param takeAvailableOnly (optional) Defines special filter for available product variants.
     * @param sku (optional) SKU of linked ecommerce product.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductVariants(id: number, productVersionId?: number | null | undefined, skip?: number | null | undefined, take?: number | null | undefined, options?: string | null | undefined, productFilterId?: number | null | undefined, takeAvailableOnly?: boolean | null | undefined, sku?: string | null | undefined, tenantId?: number | null | undefined): Promise<PagedOfProductVariantDto>;
    /**
     * Returns a product variant.
     * @param id Product identifier.
     * @param productVariantId Product variant identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductVariant(id: number, productVariantId: number, productVersionId?: number | null | undefined, tenantId?: number | null | undefined): Promise<ProductVariantDto>;
    /**
     * Returns a list of product variant designs.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param productVariantId (optional) Product variant identifier.
     * @param search (optional) Search string for design name partial match.
     * @param designCustomFields (optional) Custom attributes dictionary filter for designs. For example: {"public":"true","name":"my item"}
     * @param designPath (optional) Path filter for designs. Subfolders included by default.
     * @param skip (optional) Defines page start offset from beginning of sorted result list.
     * @param take (optional) Defines page length (how many consequent items of sorted result list should be taken).
     * @param options (optional) Defines options filter e.g.: "{ "opt1_id": "opt1_val1_id, opt1_val2_id", "opt2_id": "opt2_val1_id" }".
     * @param productFilterId (optional) Defines special filter based on product filter with specified identifier.
     * @param takeAvailableOnly (optional) Defines special filter for available product variants.
     * @param sku (optional) SKU of linked ecommerce product.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductVariantDesigns(id: number, productVersionId?: number | null | undefined, productVariantId?: number | null | undefined, search?: string | null | undefined, designCustomFields?: string | null | undefined, designPath?: string | null | undefined, skip?: number | null | undefined, take?: number | null | undefined, options?: string | null | undefined, productFilterId?: number | null | undefined, takeAvailableOnly?: boolean | null | undefined, sku?: string | null | undefined, tenantId?: number | null | undefined): Promise<PagedOfProductVariantDesignDto>;
    /**
     * Returns a list of product variant mockups.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param productVariantId (optional) Product variant identifier.
     * @param search (optional) Search string for design name partial match.
     * @param mockupCustomFields (optional) Custom attributes dictionary filter for mockups. For example: {"public":"true","name":"my item"}
     * @param mockupPath (optional) Path filter for mockups. Subfolders included by default.
     * @param skip (optional) Defines page start offset from beginning of sorted result list.
     * @param take (optional) Defines page length (how many consequent items of sorted result list should be taken).
     * @param options (optional) Defines options filter e.g.: "{ "opt1_id": "opt1_val1_id, opt1_val2_id", "opt2_id": "opt2_val1_id" }".
     * @param productFilterId (optional) Defines special filter based on product filter with specified identifier.
     * @param takeAvailableOnly (optional) Defines special filter for available product variants.
     * @param sku (optional) SKU of linked ecommerce product.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductVariantMockups(id: number, productVersionId?: number | null | undefined, productVariantId?: number | null | undefined, search?: string | null | undefined, mockupCustomFields?: string | null | undefined, mockupPath?: string | null | undefined, skip?: number | null | undefined, take?: number | null | undefined, options?: string | null | undefined, productFilterId?: number | null | undefined, takeAvailableOnly?: boolean | null | undefined, sku?: string | null | undefined, tenantId?: number | null | undefined): Promise<PagedOfProductVariantMockupDto>;
    /**
     * Returns a list of product variant documents.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param productVariantId (optional) Product variant identifier.
     * @param search (optional) Search string for document name partial match.
     * @param documentCustomFields (optional) Custom attributes dictionary filter for documents. For example: {"public":"true","name":"my item"}
     * @param documentPath (optional) Path filter for documents. Subfolders included by default.
     * @param skip (optional) Defines page start offset from beginning of sorted result list.
     * @param take (optional) Defines page length (how many consequent items of sorted result list should be taken).
     * @param options (optional) Defines options filter e.g.: "{ "opt1_id": "opt1_val1_id, opt1_val2_id", "opt2_id": "opt2_val1_id" }".
     * @param productFilterId (optional) Defines special filter based on product filter with specified identifier.
     * @param takeAvailableOnly (optional) Defines special filter for available product variants.
     * @param sku (optional) SKU of linked ecommerce product.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductVariantDocuments(id: number, productVersionId?: number | null | undefined, productVariantId?: number | null | undefined, search?: string | null | undefined, documentCustomFields?: string | null | undefined, documentPath?: string | null | undefined, skip?: number | null | undefined, take?: number | null | undefined, options?: string | null | undefined, productFilterId?: number | null | undefined, takeAvailableOnly?: boolean | null | undefined, sku?: string | null | undefined, tenantId?: number | null | undefined): Promise<PagedOfProductVariantDocumentDto>;
    /**
     * Updates product variant resources.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    updateProductVariantResources(id: number, productVersionId?: number | null | undefined, tenantId?: number | null | undefined): Promise<void>;
    /**
     * Set product variant price.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param tenantId (optional) Tenant identifier.
     * @param body (optional) Set product variant price operation parameters.
     * @return Success
     * @deprecated
     */
    setProductVariantPrice(id: number, productVersionId?: number | null | undefined, tenantId?: number | null | undefined, body?: SetProductVariantPriceDto[] | null | undefined): Promise<void>;
    /**
     * Returns a list of all available product tags.
     * @param search (optional) Search string for partial match.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getAvailableProductTags(search?: string | null | undefined, tenantId?: number | null | undefined): Promise<string[]>;
    /**
     * Returns a product personalization workflow description by product identifier.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param productLinkId (optional) Product link identifier.
     * @param productFilterId (optional) Product filter identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getPersonalizationWorkflow(id: number, productVersionId?: number | null | undefined, productLinkId?: number | null | undefined, productFilterId?: number | null | undefined, tenantId?: number | null | undefined): Promise<PersonalizationWorkflowDto>;
}
export declare class ProductsApiClient extends ApiClientBase implements IProductsApiClient {
    private instance;
    private baseUrl;
    protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
    constructor(configuration: ApiClientConfiguration, baseUrl?: string, instance?: AxiosInstance);
    /**
     * Returns all products, relevant to the specified query parameters.
     * @param skip (optional) Defines page start offset from beginning of sorted result list.
     * @param take (optional) Defines page length (how many consequent items of sorted result list should be taken).
     * @param sorting (optional) Defines sorting order of result list e.g.: "Title ASC, LastModified DESC".
     * @param search (optional) Search string for partial match.
     * @param sku (optional) SKU of linked ecommerce product.
     * @param tags (optional) List of tags that product should have.
     * @param customFields (optional) Serialized custom fields dictionary filter. For example: {"public":"true","name":"my item"}.
     * @param includeObsolete (optional) Indicates if obsolete products prepared to be removed should be included to result.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getAllProducts(skip?: number | null | undefined, take?: number | null | undefined, sorting?: string | null | undefined, search?: string | null | undefined, sku?: string | null | undefined, tags?: string[] | null | undefined, customFields?: string | null | undefined, includeObsolete?: boolean | undefined, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<PagedOfProductDto>;
    protected processGetAllProducts(response: AxiosResponse): Promise<PagedOfProductDto>;
    /**
     * Returns a product by identifier.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProduct(id: number, productVersionId?: number | null | undefined, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<ProductDto>;
    protected processGetProduct(response: AxiosResponse): Promise<ProductDto>;
    /**
     * Returns a product summary by product identifier.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param productLinkId (optional) Product link identifier.
     * @param productVariantId (optional) Product variant identifier.
     * @param sku (optional) Product variant SKU.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductSummary(id: number, productVersionId?: number | null | undefined, productLinkId?: number | null | undefined, productVariantId?: number | null | undefined, sku?: string | null | undefined, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<ProductSummaryDto>;
    protected processGetProductSummary(response: AxiosResponse): Promise<ProductSummaryDto>;
    /**
     * Returns a list of product options.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductOptions(id: number, productVersionId?: number | null | undefined, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<PagedOfProductOptionDto>;
    protected processGetProductOptions(response: AxiosResponse): Promise<PagedOfProductOptionDto>;
    /**
     * Returns a list of product options for all products.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getAllProductOptions(tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<PagedOfProductOptionDto>;
    protected processGetAllProductOptions(response: AxiosResponse): Promise<PagedOfProductOptionDto>;
    /**
     * Returns a list of product links.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param skip (optional) Defines page start offset from beginning of sorted result list.
     * @param take (optional) Defines page length (how many consequent items of sorted result list should be taken).
     * @param sorting (optional) Defines sorting order of result list e.g.: "Title ASC, LastModified DESC".
     * @param search (optional) Search string for partial match.
     * @param includeObsolete (optional) Indicates if obsolete product links prepared to be removed should be included to result.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductLinks(id: number, productVersionId?: number | null | undefined, skip?: number | null | undefined, take?: number | null | undefined, sorting?: string | null | undefined, search?: string | null | undefined, includeObsolete?: boolean | undefined, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<PagedOfProductLinkDto>;
    protected processGetProductLinks(response: AxiosResponse): Promise<PagedOfProductLinkDto>;
    /**
     * Returns a product link.
     * @param id Product identifier.
     * @param productLinkId Product link identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductLink(id: number, productLinkId: number, productVersionId?: number | null | undefined, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<ProductLinkDto>;
    protected processGetProductLink(response: AxiosResponse): Promise<ProductLinkDto>;
    /**
     * Returns a list of product filters.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param filterType (optional) Defines filter type paramer.
     * @param skip (optional) Defines page start offset from beginning of sorted result list.
     * @param take (optional) Defines page length (how many consequent items of sorted result list should be taken).
     * @param sorting (optional) Defines sorting order of result list e.g.: "Title ASC, LastModified DESC".
     * @param search (optional) Search string for partial match.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductFilters(id: number, productVersionId?: number | null | undefined, filterType?: ProductFilterType | null | undefined, skip?: number | null | undefined, take?: number | null | undefined, sorting?: string | null | undefined, search?: string | null | undefined, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<PagedOfProductFilterDto>;
    protected processGetProductFilters(response: AxiosResponse): Promise<PagedOfProductFilterDto>;
    /**
     * Returns a product filter.
     * @param id Product identifier.
     * @param productFilterId Product filter identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductFilter(id: number, productFilterId: number, productVersionId?: number | null | undefined, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<ProductFilterDto>;
    protected processGetProductFilter(response: AxiosResponse): Promise<ProductFilterDto>;
    /**
     * Returns a list of product variants.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param skip (optional) Defines page start offset from beginning of sorted result list.
     * @param take (optional) Defines page length (how many consequent items of sorted result list should be taken).
     * @param options (optional) Defines options filter e.g.: "{ "opt1_id": "opt1_val1_id, opt1_val2_id", "opt2_id": "opt2_val1_id" }".
     * @param productFilterId (optional) Defines special filter based on product filter with specified identifier.
     * @param takeAvailableOnly (optional) Defines special filter for available product variants.
     * @param sku (optional) SKU of linked ecommerce product.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductVariants(id: number, productVersionId?: number | null | undefined, skip?: number | null | undefined, take?: number | null | undefined, options?: string | null | undefined, productFilterId?: number | null | undefined, takeAvailableOnly?: boolean | null | undefined, sku?: string | null | undefined, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<PagedOfProductVariantDto>;
    protected processGetProductVariants(response: AxiosResponse): Promise<PagedOfProductVariantDto>;
    /**
     * Returns a product variant.
     * @param id Product identifier.
     * @param productVariantId Product variant identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductVariant(id: number, productVariantId: number, productVersionId?: number | null | undefined, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<ProductVariantDto>;
    protected processGetProductVariant(response: AxiosResponse): Promise<ProductVariantDto>;
    /**
     * Returns a list of product variant designs.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param productVariantId (optional) Product variant identifier.
     * @param search (optional) Search string for design name partial match.
     * @param designCustomFields (optional) Custom attributes dictionary filter for designs. For example: {"public":"true","name":"my item"}
     * @param designPath (optional) Path filter for designs. Subfolders included by default.
     * @param skip (optional) Defines page start offset from beginning of sorted result list.
     * @param take (optional) Defines page length (how many consequent items of sorted result list should be taken).
     * @param options (optional) Defines options filter e.g.: "{ "opt1_id": "opt1_val1_id, opt1_val2_id", "opt2_id": "opt2_val1_id" }".
     * @param productFilterId (optional) Defines special filter based on product filter with specified identifier.
     * @param takeAvailableOnly (optional) Defines special filter for available product variants.
     * @param sku (optional) SKU of linked ecommerce product.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductVariantDesigns(id: number, productVersionId?: number | null | undefined, productVariantId?: number | null | undefined, search?: string | null | undefined, designCustomFields?: string | null | undefined, designPath?: string | null | undefined, skip?: number | null | undefined, take?: number | null | undefined, options?: string | null | undefined, productFilterId?: number | null | undefined, takeAvailableOnly?: boolean | null | undefined, sku?: string | null | undefined, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<PagedOfProductVariantDesignDto>;
    protected processGetProductVariantDesigns(response: AxiosResponse): Promise<PagedOfProductVariantDesignDto>;
    /**
     * Returns a list of product variant mockups.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param productVariantId (optional) Product variant identifier.
     * @param search (optional) Search string for design name partial match.
     * @param mockupCustomFields (optional) Custom attributes dictionary filter for mockups. For example: {"public":"true","name":"my item"}
     * @param mockupPath (optional) Path filter for mockups. Subfolders included by default.
     * @param skip (optional) Defines page start offset from beginning of sorted result list.
     * @param take (optional) Defines page length (how many consequent items of sorted result list should be taken).
     * @param options (optional) Defines options filter e.g.: "{ "opt1_id": "opt1_val1_id, opt1_val2_id", "opt2_id": "opt2_val1_id" }".
     * @param productFilterId (optional) Defines special filter based on product filter with specified identifier.
     * @param takeAvailableOnly (optional) Defines special filter for available product variants.
     * @param sku (optional) SKU of linked ecommerce product.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductVariantMockups(id: number, productVersionId?: number | null | undefined, productVariantId?: number | null | undefined, search?: string | null | undefined, mockupCustomFields?: string | null | undefined, mockupPath?: string | null | undefined, skip?: number | null | undefined, take?: number | null | undefined, options?: string | null | undefined, productFilterId?: number | null | undefined, takeAvailableOnly?: boolean | null | undefined, sku?: string | null | undefined, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<PagedOfProductVariantMockupDto>;
    protected processGetProductVariantMockups(response: AxiosResponse): Promise<PagedOfProductVariantMockupDto>;
    /**
     * Returns a list of product variant documents.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param productVariantId (optional) Product variant identifier.
     * @param search (optional) Search string for document name partial match.
     * @param documentCustomFields (optional) Custom attributes dictionary filter for documents. For example: {"public":"true","name":"my item"}
     * @param documentPath (optional) Path filter for documents. Subfolders included by default.
     * @param skip (optional) Defines page start offset from beginning of sorted result list.
     * @param take (optional) Defines page length (how many consequent items of sorted result list should be taken).
     * @param options (optional) Defines options filter e.g.: "{ "opt1_id": "opt1_val1_id, opt1_val2_id", "opt2_id": "opt2_val1_id" }".
     * @param productFilterId (optional) Defines special filter based on product filter with specified identifier.
     * @param takeAvailableOnly (optional) Defines special filter for available product variants.
     * @param sku (optional) SKU of linked ecommerce product.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getProductVariantDocuments(id: number, productVersionId?: number | null | undefined, productVariantId?: number | null | undefined, search?: string | null | undefined, documentCustomFields?: string | null | undefined, documentPath?: string | null | undefined, skip?: number | null | undefined, take?: number | null | undefined, options?: string | null | undefined, productFilterId?: number | null | undefined, takeAvailableOnly?: boolean | null | undefined, sku?: string | null | undefined, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<PagedOfProductVariantDocumentDto>;
    protected processGetProductVariantDocuments(response: AxiosResponse): Promise<PagedOfProductVariantDocumentDto>;
    /**
     * Updates product variant resources.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    updateProductVariantResources(id: number, productVersionId?: number | null | undefined, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<void>;
    protected processUpdateProductVariantResources(response: AxiosResponse): Promise<void>;
    /**
     * Set product variant price.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param tenantId (optional) Tenant identifier.
     * @param body (optional) Set product variant price operation parameters.
     * @return Success
     * @deprecated
     */
    setProductVariantPrice(id: number, productVersionId?: number | null | undefined, tenantId?: number | null | undefined, body?: SetProductVariantPriceDto[] | null | undefined, cancelToken?: CancelToken | undefined): Promise<void>;
    protected processSetProductVariantPrice(response: AxiosResponse): Promise<void>;
    /**
     * Returns a list of all available product tags.
     * @param search (optional) Search string for partial match.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getAvailableProductTags(search?: string | null | undefined, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<string[]>;
    protected processGetAvailableProductTags(response: AxiosResponse): Promise<string[]>;
    /**
     * Returns a product personalization workflow description by product identifier.
     * @param id Product identifier.
     * @param productVersionId (optional) Product version identifier.
     * @param productLinkId (optional) Product link identifier.
     * @param productFilterId (optional) Product filter identifier.
     * @param tenantId (optional) Tenant identifier.
     * @return Success
     * @deprecated
     */
    getPersonalizationWorkflow(id: number, productVersionId?: number | null | undefined, productLinkId?: number | null | undefined, productFilterId?: number | null | undefined, tenantId?: number | null | undefined, cancelToken?: CancelToken | undefined): Promise<PersonalizationWorkflowDto>;
    protected processGetPersonalizationWorkflow(response: AxiosResponse): Promise<PersonalizationWorkflowDto>;
}
/** Dto class, containing information about storefront product reference. */
export interface ProductReferenceDto {
    /** Product reference is an external reference to Customer's Canvas product specification, e.g online store product identifier. */
    productReference?: string | null;
    /** Product reference name. */
    productReferenceName?: string | null;
    /** Customer's Canvas product identifier. */
    productId?: number;
    /** Customer's Canvas product version identifier. */
    productVersionId?: number;
    /** Customer's Canvas product link identifier. */
    productLinkId?: number;
    /** Storefront identifier. */
    storefrontId?: number;
    /** Tenant identifier. */
    tenantId?: number;
    /** Storefront product reference creation date and time. */
    created?: string;
}
/** Paged list of items. */
export interface PagedOfProductReferenceDto {
    /** Items count. */
    total?: number;
    /** Items list. */
    items?: ProductReferenceDto[] | null;
}
/** Conflict types. */
export declare enum ConflictType {
    NameConflict = "NameConflict",
    FolderOverwriteConflict = "FolderOverwriteConflict",
    IdConflict = "IdConflict",
    GeneralConflict = "GeneralConflict"
}
/** Information about operation conflict. */
export interface GeneralConflictDto {
    /** Problem description. */
    description?: string | null;
    /** Coflict type. */
    type?: ConflictType;
}
export interface ProblemDetails {
    type?: string | null;
    title?: string | null;
    status?: number | null;
    detail?: string | null;
    instance?: string | null;
}
/** Dto class, containing information about a product resource of type image. */
export interface ImageInfo {
    /** Product resource identifier. */
    resourceId?: string | null;
    /** Product Resource URL. */
    url?: string | null;
}
/** Available option types. */
export declare enum OptionType {
    Simple = "Simple",
    Size = "Size",
    PageCount = "PageCount"
}
/** Dto class, containing information about a product filter option. */
export interface ProductFilterOptionDto {
    /** Product option identifier. */
    productOptionId?: number | null;
    /** Product option value identifier. */
    productOptionValueId?: number | null;
    /** Product option type ('Simple' / 'Size' / 'PageCount'). */
    productOptionType?: OptionType;
    /** Product option traits. */
    productOptionTraits?: string[] | null;
    /** Product option title. */
    productOptionTitle?: string | null;
    /** Product option value title. */
    productOptionValueTitle?: string | null;
    /** Indicates if option value should be used as a default value for corresponding option. */
    isDefault?: boolean;
}
/** Dto class, containing information about a product link. */
export interface ProductLinkDto {
    /** Product link identifier. */
    id?: number;
    /** Product link version identifier. */
    productLinkVersionId?: number;
    /** Linked product identifier. */
    productId?: number;
    /** Linked product version identifier. */
    productVersionId?: number;
    /** Tenant identifier. */
    tenantId?: number;
    /** Product link name. */
    name?: string | null;
    /** Product link description. */
    description?: string | null;
    /** Product filter identifier. */
    productFilterId?: number;
    /** Product link image info. */
    image?: ImageInfo | null;
    /** Product link creation time. */
    created?: string;
    /** Product link modification time. */
    lastModified?: string | null;
    /** Product filter options. */
    productFilterOptions?: ProductFilterOptionDto[] | null;
    /** Personalization workflow identifier. */
    personalizationWorkflowId?: number | null;
    /** Processing pipeline identifier. */
    processingPipelineId?: number | null;
    /** Default storefront identifier. */
    storefrontId?: number | null;
    /** Default storefront product identifier. */
    storefrontProductId?: string | null;
    /** Default storefront product name. */
    storefrontProductName?: string | null;
}
/** Paged list of items. */
export interface PagedOfProductLinkDto {
    /** Items count. */
    total?: number;
    /** Items list. */
    items?: ProductLinkDto[] | null;
}
/** Dto class, containing information about a product. */
export interface ProductDto {
    /** Product identifier. */
    id?: number;
    /** Product version identifier. */
    productVersionId?: number;
    /** Tenant identifier. */
    tenantId?: number;
    /** Product name. */
    name?: string | null;
    /** Product description. */
    description?: string | null;
    /** Product image info. */
    image?: ImageInfo | null;
    /** Product creation time. */
    created?: string;
    /** Product modification time. */
    lastModified?: string | null;
    /** Product tags. */
    tags?: string[] | null;
    /** Product custom fields. */
    customFields?: {
        [key: string]: string;
    } | null;
    /** Personalization workflow identifier. */
    personalizationWorkflowId?: number;
    /** Processing pipeline identifier. */
    processingPipelineId?: number;
    /** Default storefront identifier. */
    storefrontId?: number | null;
    /** Default storefront product identifier. */
    storefrontProductId?: string | null;
    /** Default storefront product name. */
    storefrontProductName?: string | null;
}
/** Available appearance types. */
export declare enum AppearanceDataType {
    Radio = "Radio",
    Dropdown = "Dropdown",
    Chips = "Chips",
    ColorGrid = "ColorGrid",
    ColorList = "ColorList",
    ImageGrid = "ImageGrid",
    ImageList = "ImageList"
}
/** Dto class, containing information about a product option appearance item. */
export interface AppearanceDataItemDto {
    /** Appearance item key. */
    key?: string | null;
    /** Appearance item value. */
    value?: string | null;
}
/** Dto class, containing information about a product option appearance. */
export interface AppearanceDataDto {
    /** Appearance type. */
    type?: AppearanceDataType;
    /** Appearance items. */
    items?: AppearanceDataItemDto[] | null;
}
/** Option values for product summary model. */
export interface ProductSummaryOptionValueDto {
    /** Option value identifier. */
    id?: number;
    /** Option value identifying tag. */
    tag?: string | null;
    /** Option value title. */
    title?: string | null;
    /** Option value value. */
    value?: string | null;
    /** Indicates if option value is used as a default value. */
    isDefault?: boolean;
    /** Option value description. */
    description?: string | null;
    /** Option value colors. */
    colors?: string[] | null;
    /** Option value image. */
    image?: ImageInfo | null;
}
/** Options for product summary model. */
export interface ProductSummaryOptionDto {
    /** Option identifier. */
    id?: number;
    /** Option identifying tag. */
    tag?: string | null;
    /** Option title. */
    title?: string | null;
    /** Option description. */
    description?: string | null;
    /** Option tooltip. */
    tooltip?: string | null;
    /** Option sort index. */
    sortIndex?: number;
    /** Option traits. */
    traits?: string[] | null;
    /** Indicates if option is used to bind designs to product. */
    useForDesignBinding?: boolean;
    /** Indicates if option is used to bind mockups to product. */
    useForMockupBinding?: boolean;
    /** Indicates if option is used to bind documents to product. */
    useForDocumentBinding?: boolean;
    /** Option appearance. */
    appearanceData?: AppearanceDataDto | null;
    /** Option image info. */
    image?: ImageInfo | null;
    /** Option values. */
    productOptionValues?: ProductSummaryOptionValueDto[] | null;
}
/** General information about product that editors need to begin personalization process. */
export interface ProductSummaryDto {
    /** Product identifier. */
    productId?: number;
    /** Product version identifier. If product variant is not specified, active version identifier should be used. */
    productVersionId?: number;
    /** Product link identifier. If product link is not specified, should be null. */
    productLinkId?: number | null;
    /** Product filter identifier for product link. If product link is not specified, should be null. */
    productFilterId?: number | null;
    /** Product variant identifier. If product variant is not specified, should be null. */
    productVariantId?: number | null;
    /** Product variant SKU. If product variant is not specified, should be null. */
    productVariantSku?: string | null;
    /** Product variant price. If product variant is not specified, should be null. */
    productVariantPrice?: number | null;
    /** Product variant availability. If product variant is not specified, should be null. */
    isProductVariantAvailable?: boolean | null;
    /** Product name. If product link is specified, name of link will be used. */
    name?: string | null;
    /** Product description. If product link is specified, description of link will be used. */
    description?: string | null;
    /** Product image info. */
    image?: ImageInfo | null;
    /** Tenant identifier. */
    tenantId?: number;
    /** Personalization workflow identifier. */
    personalizationWorkflowId?: number | null;
    /** Processing pipeline identifier. */
    processingPipelineId?: number | null;
    /** Product tags. */
    tags?: string[] | null;
    /** Product custom fields. */
    customFields?: {
        [key: string]: string;
    } | null;
    /** Product options summary.
If product link or variant is specified, product options will be filtered by link or variant options. */
    options?: ProductSummaryOptionDto[] | null;
}
/** Available filter types */
export declare enum ProductFilterType {
    Link = "Link"
}
/** Dto class, containing information about a product filter. */
export interface ProductFilterDto {
    /** Product filter identifier */
    id?: number;
    /** Product version identifier */
    productVersionId?: number;
    /** Product identifier */
    productId?: number;
    /** Tenant identifier */
    tenantId?: number;
    /** A list of product filter options */
    productFilterOptions?: ProductFilterOptionDto[] | null;
    /** Product filter type */
    type?: ProductFilterType;
}
/** Dto class, containing information about storefront product cost details. */
export interface ProductCostDetailsDto {
    /** Product reference is an external reference to Customer's Canvas product specification, e.g online store product identifier. */
    productReference?: string | null;
    /** Product SKU. */
    productSku?: string | null;
    /** Product quantity. */
    productQuantity?: number;
    /** Product price. */
    productPrice?: number;
    /** Product cost. */
    productCost?: number;
    /** Product discount. */
    productDiscount?: number;
    /** Currency code. */
    currencyCode?: string | null;
    /** Tenant identifier. */
    tenantId?: number;
}
/** Type of editor that should be configured by workflow. */
export declare enum WorkflowType {
    UIFramework = "UIFramework",
    SimpleEditor = "SimpleEditor",
    DesignEditor = "DesignEditor",
    WorkflowElements = "WorkflowElements"
}
/** Personalization workflow description DTO. */
export interface PersonalizationWorkflowDto {
    /** Workflow identifier. */
    id?: number;
    /** Processed workflow JSON. */
    content?: string | null;
    /** Workflow type. */
    workflowType?: WorkflowType;
}
/** Paged list of items. */
export interface PagedOfProductDto {
    /** Items count. */
    total?: number;
    /** Items list. */
    items?: ProductDto[] | null;
}
/** Option value description for 'Simple' option type. */
export interface SimpleOptionValue {
    /** String Value. */
    value?: string | null;
}
/** Dto class, containing information about a product option value. */
export interface ProductOptionValueDto {
    /** Product option value identifier. */
    id?: number;
    /** Product option value title. */
    title?: string | null;
    /** Product option value sort index. */
    sortIndex?: number;
    /** Indicates if product option value is used as a default value. */
    isDefault?: boolean;
    /** Product option value identifying tag. */
    tag?: string | null;
    /** Option value description for 'Simple' option type. */
    simpleOptionValue?: SimpleOptionValue | null;
    /** Product option value description. */
    description?: string | null;
    /** Product option value colors. */
    colors?: string[] | null;
    /** Product option value image. */
    image?: ImageInfo | null;
}
/** Dto class, containing information about a product option. */
export interface ProductOptionDto {
    /** Product option identifier. */
    id?: number;
    /** Product version identifier */
    productVersionId?: number;
    /** Product identifier. */
    productId?: number;
    /** Tenant identifier. */
    tenantId?: number;
    /** Option type ('Simple' / 'Size' / 'PageCount'). */
    type?: OptionType;
    /** Option traits. */
    traits?: string[] | null;
    /** Product option title. */
    title?: string | null;
    /** Product option sort index. */
    sortIndex?: number;
    /** Product option identifying tag. */
    tag?: string | null;
    /** Specifies if the option is used for design binding. */
    useForDesignBinding?: boolean;
    /** Specifies if the option is used for mockup binding. */
    useForMockupBinding?: boolean;
    /** Specifies if the option is used for document binding. */
    useForDocumentBinding?: boolean;
    /** Product option description. */
    description?: string | null;
    /** Product option tooltip. */
    tooltip?: string | null;
    /** Product option appearance. */
    appearanceData?: AppearanceDataDto | null;
    /** Product option image info. */
    image?: ImageInfo | null;
    /** A list of product option values. */
    productOptionValues?: ProductOptionValueDto[] | null;
}
/** Paged list of items. */
export interface PagedOfProductOptionDto {
    /** Items count. */
    total?: number;
    /** Items list. */
    items?: ProductOptionDto[] | null;
}
/** Paged list of items. */
export interface PagedOfProductFilterDto {
    /** Items count. */
    total?: number;
    /** Items list. */
    items?: ProductFilterDto[] | null;
}
/** Dto class, containing information about a product variant option. */
export interface ProductVariantOptionDto {
    /** Product option identifier. */
    productOptionId?: number | null;
    /** Product option value identifier. */
    productOptionValueId?: number | null;
    /** Product option type ('Simple' / 'Size' / 'PageCount'). */
    productOptionType?: OptionType;
    /** Product option traits. */
    productOptionTraits?: string[] | null;
    /** Product option title. */
    productOptionTitle?: string | null;
    /** Product option value title. */
    productOptionValueTitle?: string | null;
    /** Product option value description for 'Simple' option type. */
    simpleOptionValue?: SimpleOptionValue | null;
}
/** Dto class, containing information about a product variant. */
export interface ProductVariantDto {
    /** Product variant identifier. */
    id?: number;
    /** Product version identifier. */
    productVersionId?: number;
    /** Product identifier. */
    productId?: number;
    /** Tenant identifier. */
    tenantId?: number;
    /** Product variant available. */
    isAvailable?: boolean;
    /** Product variant price. */
    price?: number | null;
    /** Product variant sort index. */
    sortIndex?: number;
    /** Product variant identifier (usually SKU) in storefront / online store. */
    storefrontProductVariantId?: string | null;
    /** A list of product variant options. */
    productVariantOptions?: ProductVariantOptionDto[] | null;
}
/** Paged list of items. */
export interface PagedOfProductVariantDto {
    /** Items count. */
    total?: number;
    /** Items list. */
    items?: ProductVariantDto[] | null;
}
/** Available product variant resource types. */
export declare enum ProductVariantResourceType {
    Preview = "Preview",
    EditorModel = "EditorModel",
    Custom = "Custom"
}
/** Product variant resource description for 'Preview' resource type. */
export interface ProductVariantResourcePreview {
    /** Preview with in pixels. */
    width?: number | null;
    /** Preview heigth in pixels. */
    height?: number | null;
    /** Mockup which is used to create preview. */
    mockupId?: string | null;
    /** Design surface index which is used to create preivew. */
    surfaceIndex?: number | null;
}
/** Dto class, containing information about a product variant resource. */
export interface ProductVariantResourceDto {
    /** Resource identifier. */
    resourceId?: string | null;
    /** Resource name. */
    name?: string | null;
    /** Resource url. */
    url?: string | null;
    /** Resource type. */
    type?: ProductVariantResourceType;
    /** Product variant resource description for 'Preview' resource type. */
    resourcePreview?: ProductVariantResourcePreview | null;
}
/** Dto class, containing information about a product variant design. */
export interface ProductVariantDesignDto {
    /** Product variant identifier. */
    productVariantId?: number;
    /** Product version identifier. */
    productVersionId?: number;
    /** Product identifier. */
    productId?: number;
    /** Tenant identifier. */
    tenantId?: number;
    /** Product variant available. */
    isAvailable?: boolean;
    /** Product variant price. */
    price?: number | null;
    /** Product variant sort index. */
    sortIndex?: number;
    /** Product variant identifier (usually SKU) in storefront / online store. */
    storefrontProductVariantId?: string | null;
    /** Design identifier. */
    designId?: string | null;
    /** Design name. */
    designName?: string | null;
    /** Design grouping tag. */
    designGroup?: string | null;
    /** Design data schema tag. Indicates if design has data schema. */
    designHasDataSchema?: boolean;
    /** Design toggle set tag. Indicated if design has toggle set. */
    designHasToggleSet?: boolean;
    /** A list of product variant options. */
    productVariantOptions?: ProductVariantOptionDto[] | null;
    /** A list of product variant resources. */
    productVariantResources?: ProductVariantResourceDto[] | null;
}
/** Paged list of items. */
export interface PagedOfProductVariantDesignDto {
    /** Items count. */
    total?: number;
    /** Items list. */
    items?: ProductVariantDesignDto[] | null;
}
/** Available mockup types. */
export declare enum ProductVariantMockupType {
    Thumbnail = "Thumbnail",
    Editor = "Editor",
    Preview = "Preview"
}
/** Available surface usage types. */
export declare enum SurfaceUsageType {
    Individual = "Individual",
    Custom = "Custom",
    All = "All"
}
/** Dto class, containing information about a product variant mockup. */
export interface ProductVariantMockupDto {
    /** Product variant identifier. */
    productVariantId?: number;
    /** Product version identifier. */
    productVersionId?: number;
    /** Product identifier. */
    productId?: number;
    /** Tenant identifier. */
    tenantId?: number | null;
    /** Product variant identifier in online store (usually SKU). */
    storefrontProductVariantId?: string | null;
    /** Mockup identifier. */
    mockupId?: string | null;
    /** Mockup name. */
    mockupName?: string | null;
    /** Mockup type. */
    mockupType?: ProductVariantMockupType;
    /** Surface index indicates a surface of a design to which mockup should be applied. */
    surfaceIndex?: number | null;
    /** Surface usage type defines a scheme for applying mockup to design surfaces. */
    surfaceUsageType?: SurfaceUsageType;
    /** A list of product variant options. */
    productVariantOptions?: ProductVariantOptionDto[] | null;
}
/** Paged list of items. */
export interface PagedOfProductVariantMockupDto {
    /** Items count. */
    total?: number;
    /** Items list. */
    items?: ProductVariantMockupDto[] | null;
}
/** Dto class, containing information about a product variant document. */
export interface ProductVariantDocumentDto {
    /** Product variant identifier. */
    productVariantId?: number;
    /** Product version identifier. */
    productVersionId?: number;
    /** Product identifier. */
    productId?: number;
    /** Tenant identifier. */
    tenantId?: number;
    /** Product variant available. */
    isAvailable?: boolean;
    /** Product variant price. */
    price?: number | null;
    /** Product variant sort index. */
    sortIndex?: number;
    /** Product variant identifier (usually SKU) in storefront / online store. */
    storefrontProductVariantId?: string | null;
    /** Document identifier. */
    documentId?: string | null;
    /** Document name. */
    documentName?: string | null;
    /** Document grouping tag. */
    documentGroup?: string | null;
    /** A list of product variant options. */
    productVariantOptions?: ProductVariantOptionDto[] | null;
    /** A list of product variant resources. */
    productVariantResources?: ProductVariantResourceDto[] | null;
}
/** Paged list of items. */
export interface PagedOfProductVariantDocumentDto {
    /** Items count. */
    total?: number;
    /** Items list. */
    items?: ProductVariantDocumentDto[] | null;
}
/** Parameters for setting product variants price. */
export interface SetProductVariantPriceDto {
    /** Price. */
    price?: number | null;
    /** Identifiers of variants for price setting. */
    variantIds?: number[] | null;
}
export declare class ApiException extends Error {
    message: string;
    status: number;
    response: string;
    headers: {
        [key: string]: any;
    };
    result: any;
    constructor(message: string, status: number, response: string, headers: {
        [key: string]: any;
    }, result: any);
    protected isApiException: boolean;
    static isApiException(obj: any): obj is ApiException;
}
