import { HttpClient } from '@angular/common/http'; import { ConverterService } from '@spartacus/core'; import { Configurator } from '@spartacus/product-configurator/rulebased'; import { Observable } from 'rxjs'; import { CpqConfiguratorEndpointService } from './cpq-configurator-endpoint.service'; import { Cpq } from './cpq.models'; import * as i0 from "@angular/core"; export declare class CpqConfiguratorRestService { protected http: HttpClient; protected converterService: ConverterService; protected endpointService: CpqConfiguratorEndpointService; constructor(http: HttpClient, converterService: ConverterService, endpointService: CpqConfiguratorEndpointService); /** * Creates a new runtime configuration for the given product id * and read this default configuration from the CPQ system. * * @param {string} productSystemId - Product system ID * @returns {Observable} - Created configuration */ createConfiguration(productSystemId: string): Observable; /** * Retrieves a configuration from the CPQ system by its configuration ID and for a certain tab. * * @param {string} configId - Configuration ID * @param {string} tabId - Tab ID * @returns {Observable} - Retrieved configuration */ readConfiguration(configId: string, tabId?: string): Observable; /** * Retrieves an overview for a certain configuration by its configuration ID. * * @param {string} configId - Configuration ID * @returns {Observable} - Retrieved overview */ readConfigurationOverview(configId: string): Observable; /** * This method is actually a workaround until CPQ provides and API to fetch * all selected attributes / attribute values grouped by all tabs. * It will fire a request for each tab to collect all required data. */ protected getConfigurationWithAllTabsAndAttributes(configId: string): Observable; protected mergeTabResults(tabReqResultList: Cpq.Configuration[]): Cpq.Configuration; /** * Updates an attribute of the runtime configuration for the given configuration id and attribute code * and read this default configuration from the CPQ system. * * @param {Configurator.Configuration} configuration - Configuration * @returns {Observable} - Updated configuration */ updateAttribute(configuration: Configurator.Configuration): Observable; /** * Updates a quantity for an attribute of the runtime configuration for the given configuration id and attribute code * and read this default configuration from the CPQ system. * * @param {Configurator.Configuration} configuration - Configuration * @returns {Observable} - Updated configuration */ updateValueQuantity(configuration: Configurator.Configuration): Observable; protected callUpdateValue(updateValue: Cpq.UpdateValue): Observable; protected callConfigurationInit(productSystemId: string): Observable; protected callConfigurationDisplay(configId: string, tabId?: string): Observable; protected callUpdateAttribute(updateAttribute: Cpq.UpdateAttribute): Observable; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }