import { Environment } from '../ngx-services.models';
import { HttpClient } from '@angular/common/http';
import { AccountCategoriesOut, AccountEntitiesIn, AccountEntitiesOut, AccountIn, AccountOut, AccountsOut, AccountTypeIn, AccountTypeOut, AccountTypesOut, BoardingProcessIdIn, BoardingProcessIn, CompanyCountriesOut, CompanyCountryIn, CompanyCountryOut, CompanyCountryTaxesOut, CompanyIn, CompanyOut, CountryReferenceCurrenciesOut, CountryReferenceCurrencyIn, CountryReferenceCurrencyOut, CountryReferenceExtraChargeIn, CountryReferenceExtraChargeOut, CountryReferenceIn, CountryReferenceOut, CountryReferenceProductIn, CountryReferenceProductOut, CountryReferenceProductsOut, CountryReferencesOut, EmployeeCustomersIn, EmployeeCustomersOut, EmployeeIn, EmployeeOut, EmployeesCustomersOut, EmployeesOut, ExchangeIn, ExchangeOut, ExchangesOut, ExtraChargeEntitiesIn, ExtraChargeEntitiesOut, InstallationIn, InstallationOut, InstallationsOut, LocationEmployeeBatchIn, LocationEmployeeOut, LocationEmployeesOut, LocationIn, LocationOut, LocationsOut, ParameterConfigIn, ParameterConfigOut, ParameterConfigsOut, ParametersByLevelIn, ParametersOut, ParametersValuesIn, ParametersValuesOut, ParameterValueIn, ParameterValueOut, ProductEntitiesIn, ProductEntitiesOut, SupplyEntitiesIn, SupplyEntitiesOut, SystemEntitiesIn, SystemEntitiesOut, SystemIn, SystemOut, SystemsOut, WorkflowConfigsBatchIn, WorkflowConfigsOut, WorkflowsOut } from './models/api-companies.types';
import { QueryParams } from './models/api.models';
import { Observable } from 'rxjs';
import { CountryCurrencyRate, CountryReferenceExtraCharge, EmployeeCustomerDhl } from './models/api-companies.interfaces';
import * as i0 from "@angular/core";
export declare class ApiCompaniesService {
    private environments;
    private http;
    constructor(environments: Environment, http: HttpClient);
    /**
     * Retrieves the URL for the companies API from the environment configurations.
     *
     * @return {string} The URL of the companies API.
     */
    get url(): string;
    /**
     * Fetches the installations based on the provided query parameters.
     *
     * @param {QueryParams} params - The parameters used to filter the installations query.
     * @return {Observable<InstallationsOut>} An observable that emits the installation's data.
     */
    getInstallations(params: QueryParams): Observable<InstallationsOut>;
    /**
     * Retrieves the installation details based on the given installation ID.
     *
     * @param {number} id - The unique identifier of the installation to retrieve.
     * @returns {Observable<InstallationOut>} An observable of the installation details.
     */
    getInstallation(id: number): Observable<InstallationOut>;
    /**
     * Sends a post-installation request to the server and retrieves the installation details.
     *
     * @param {InstallationIn} body - The installation details to be sent in the request body.
     * @return {Observable<InstallationOut>} An observable that emits the response containing installation output details.
     */
    postInstallation(body: InstallationIn): Observable<InstallationOut>;
    /**
     * Updates an existing installation record by its ID.
     *
     * @param id The unique identifier of the installation to update.
     * @param body The data payload containing the updated installation information.
     * @return An observable that emits the updated installation data upon a successful update.
     */
    putInstallation(id: number, body: InstallationIn): Observable<InstallationOut>;
    /**
     * Deletes an installation by its unique identifier.
     *
     * @param {number} id - The unique identifier of the installation to be deleted.
     * @return {Observable<{}>} An observable that emits the response after the installation is deleted.
     */
    deleteInstallation(id: number): Observable<{}>;
    /**
     * Retrieves a list of locations based on the provided query parameters.
     *
     * @param {QueryParams} params - The parameters to use for querying locations.
     * @return {Observable<LocationsOut>} An observable that emits the location's data.
     */
    getLocations(params: QueryParams): Observable<LocationsOut>;
    /**
     * Fetches the location details for a given location ID.
     *
     * @param {number} id - The unique identifier of the location.
     * @return {Observable<LocationOut>} An Observable containing the location details.
     */
    getLocation(id: number): Observable<LocationOut>;
    /**
     * Sends a location object to the server and returns the created location data.
     *
     * @param {LocationIn} body - The location input object to be sent in the request body.
     * @return {Observable<LocationOut>} An observable emitting the created location output object.
     */
    postLocation(body: LocationIn): Observable<LocationOut>;
    /**
     * Updates the location information for the specified ID.
     *
     * @param {number} id - The unique identifier of the location to be updated.
     * @param {LocationIn} body - The updated location data to be sent in the request body.
     * @return {Observable<LocationOut>} An observable containing the updated location information.
     */
    putLocation(id: number, body: LocationIn): Observable<LocationOut>;
    /**
     * Deletes a location by its unique identifier.
     *
     * @param {number} id - The unique identifier of the location to be deleted.
     * @return {Observable<{}>} An observable that emits an empty object upon successful deletion.
     */
    deleteLocation(id: number): Observable<{}>;
    /**
     * Retrieves a list of active supply entities.
     *
     * @param {QueryParams} params - The query parameters to filter supply entities.
     * @return {Observable<SupplyEntitiesOut>} Observable emitting supply entities data.
     */
    getSupplyEntitiesActives(params: QueryParams): Observable<SupplyEntitiesOut>;
    /**
     * Retrieves supply entities based on the provided query parameters.
     *
     * @param {QueryParams} params - The query parameters used to filter and fetch the supply entities.
     * @return {Observable<SupplyEntitiesOut>} An observable that emits the supply entities data.
     */
    getSupplyEntities(params: QueryParams): Observable<SupplyEntitiesOut>;
    /**
     * Sends supply entities information to the server and receives the processed supply entities data in response.
     *
     * @param {SupplyEntitiesIn} body - The supply entities data to be sent to the server.
     * @return {Observable<SupplyEntitiesOut>} An observable containing the processed supply entities data.
     */
    putSupplyEntities(body: SupplyEntitiesIn): Observable<SupplyEntitiesOut>;
    /**
     * Fetches a list of employees based on the specified query parameters.
     *
     * @param {QueryParams} params - The parameters to filter and sort the employees.
     * @return {Observable<EmployeesOut>} An observable that emits the list of employees.
     */
    getEmployees(params: QueryParams): Observable<EmployeesOut>;
    /**
     * Fetches an employee's details based on the provided employee ID.
     *
     * @param {number} id - The unique identifier of the employee.
     * @return {Observable<EmployeeOut>} An observable that emits the employee's details.
     */
    getEmployee(id: number): Observable<EmployeeOut>;
    /**
     * Sends a POST request to create a new employee record.
     *
     * @param {EmployeeIn} body - The data of the employee to be created.
     * @return {Observable<EmployeeOut>} An observable containing the created employee data.
     */
    postEmployee(body: EmployeeIn): Observable<EmployeeOut>;
    /**
     * Updates an existing employee record with the specified data.
     *
     * @param {number} id - The unique identifier of the employee to be updated.
     * @param {EmployeeIn} body - The employee data to update the record with.
     * @return {Observable<EmployeeOut>} An observable containing the updated employee data.
     */
    putEmployee(id: number, body: EmployeeIn): Observable<EmployeeOut>;
    /**
     * Deletes an employee based on the provided ID.
     *
     * @param {number} id - The unique identifier of the employee to delete.
     * @return {Observable<{}>} An observable containing the response data after the employee is deleted.
     */
    deleteEmployee(id: number): Observable<{}>;
    /**
     * Retrieves the list of employees for a specified location based on provided query parameters.
     *
     * @param {QueryParams} params - The query parameters used to filter and retrieve the location employees.
     * @returns {Observable<LocationEmployeesOut>} An observable that emits the list of employees for the specified location.
     */
    getLocationEmployees(params: QueryParams): Observable<LocationEmployeesOut>;
    /**
     * Fetches the location employee details for a given employee ID.
     *
     * @param {number} id - The unique identifier of the employee whose location details are to be retrieved.
     * @return {Observable<LocationEmployeeOut>} An observable containing the location employee details.
     */
    getLocationEmployee(id: number): Observable<LocationEmployeeOut>;
    /**
     * Deletes a specific location employee by their unique identifier.
     *
     * @param {number} id - The unique identifier of the employee to be deleted.
     * @return {Observable<{}>} - An observable emitting the server's response after the deletion.
     */
    deleteLocationEmployee(id: number): Observable<{}>;
    /**
     * Sends a batch of location-employee associations to the server for processing.
     *
     * @param {LocationEmployeeBatchIn} body - The object containing a batch of location-employee data to be posted.
     * @return {Observable<EmployeeOut>} An observable emitting the processed employee data from the server's response.
     */
    postLocationEmployeeBatch(body: LocationEmployeeBatchIn): Observable<EmployeeOut>;
    /**
     * Retrieves a list of countries where the company operates.
     *
     * @param {QueryParams} params - The query parameters for the API request.
     * @return {Observable<CompanyCountriesOut>} An observable containing the list of company countries.
     */
    getCompanyCountries(params: QueryParams): Observable<CompanyCountriesOut>;
    /**
     * Retrieves the country information for a specified company by its ID.
     *
     * @param {number} id - The unique identifier of the company.
     * @return {Observable<CompanyCountryOut>} An observable containing the country information of the company.
     */
    getCompanyCountry(id: number): Observable<CompanyCountryOut>;
    /**
     * Sends a request to update or create a company country entry on the server.
     *
     * @param {CompanyCountryIn} body The data object representing the company country information to be sent to the server.
     * @return {Observable<CompanyCountryOut>} An observable containing the server response with the updated or created company country data.
     */
    postCompanyCountry(body: CompanyCountryIn): Observable<CompanyCountryOut>;
    /**
     * Updates the country information for a specific company.
     *
     * @param {number} id - The unique identifier of the company whose country information needs to be updated.
     * @param {CompanyCountryIn} body - The updated country information to be applied to the company.
     * @return {Observable<CompanyCountryOut>} An observable that emits the updated company country information.
     */
    putCompanyCountry(id: number, body: CompanyCountryIn): Observable<CompanyCountryOut>;
    /**
     * Deletes a company-country association by its unique identifier.
     *
     * @param {number} id - The unique identifier of the company-country record to be deleted.
     * @return {Observable<{}>} An observable emitting the result of the delete operation.
     */
    deleteCompanyCountry(id: number): Observable<{}>;
    /**
     * Fetches the reference currencies for a given country.
     *
     * @param {QueryParams} params - The query parameters to include in the request.
     * @return {Observable<CountryReferenceCurrenciesOut>} The observable containing the country reference currencies data.
     */
    getCountryReferenceCurrencies(params: QueryParams): Observable<CountryReferenceCurrenciesOut>;
    /**
     * Retrieves the reference currency details for a specific country using its ID.
     *
     * @param {number} id - The unique identifier of the country.
     * @return {Observable<CountryReferenceCurrencyOut>} An observable emitting the country's reference currency details.
     */
    getCountryReferenceCurrency(id: number): Observable<CountryReferenceCurrencyOut>;
    /**
     * Retrieves a list of currencies for different countries along with their current exchange rates.
     *
     * @param {QueryParams} params - The query parameters used to fetch the country reference currencies.
     * @return {Observable<CountryCurrencyRate[]>} An observable that emits an array of country currency rates.
     */
    getCountryCurrenciesWithRate(params: QueryParams): Observable<CountryCurrencyRate[]>;
    /**
     * Updates the reference currency for a specified country.
     *
     * @param {number} id - The unique identifier of the country.
     * @param {CountryReferenceCurrencyIn} body - The data for updating the country's reference currency.
     * @return {Observable<CountryReferenceCurrencyOut>} An Observable emitting the updated country reference currency data.
     */
    putCountryReferenceCurrency(id: number, body: CountryReferenceCurrencyIn): Observable<CountryReferenceCurrencyOut>;
    /**
     * Sends a POST request to create a country reference currency.
     *
     * @param {CountryReferenceCurrencyIn} body - The payload containing the country reference currency data.
     * @return {Observable<CountryReferenceCurrencyOut>} An observable emitting the created country reference currency.
     */
    postCountryReferenceCurrency(body: CountryReferenceCurrencyIn): Observable<CountryReferenceCurrencyOut>;
    /**
     * Sends a POST request to create or update a country reference extra charge.
     *
     * @param {CountryReferenceExtraChargeIn} body - The request payload containing details about the country reference extra charge.
     * @return {Observable<CountryReferenceExtraChargeOut>} An observable containing the response with the created or updated country reference extra charge.
     */
    postCountryReferenceExtraCharge(body: CountryReferenceExtraChargeIn): Observable<CountryReferenceExtraChargeOut>;
    /**
     * Updates a country reference extra charge by its ID.
     *
     * @param {number} id - The unique identifier of the country reference extra charge to be updated.
     * @param {CountryReferenceExtraChargeIn} body - The data to update the country reference extra charge with.
     * @return {Observable<CountryReferenceExtraChargeOut>} An observable that emits the updated country reference extra charge.
     */
    putCountryReferenceExtraCharge(id: number, body: CountryReferenceExtraChargeIn): Observable<CountryReferenceExtraChargeOut>;
    /**
     * Enables or disables a country reference extra charge based on the provided parameters.
     *
     * @param {CountryReferenceExtraCharge} extraCharge - The country reference extra charge object to be updated.
     * @param {boolean} [isActive] - Optional parameter to explicitly set the active status of the extra charge.
     *                               If not provided, the current active status will be toggled.
     * @return {Observable<EmployeeCustomersOut>} An Observable that emits the updated employee customers output.
     */
    patchCountryReferenceExtraCharge(extraCharge: CountryReferenceExtraCharge, isActive?: boolean): Observable<EmployeeCustomersOut>;
    /**
     * Fetches exchange data based on the provided query parameters.
     *
     * @param {QueryParams} params - The query parameters for retrieving exchange data.
     * @return {Observable<ExchangesOut>} An observable containing the exchange data.
     */
    getExchanges(params: QueryParams): Observable<ExchangesOut>;
    /**
     * Sends a POST request to create or update an exchange.
     *
     * @param {ExchangeIn} body - The request body containing the exchange data to be sent.
     * @return {Observable<ExchangeOut>} An observable that emits the response containing the created or updated exchange data.
     */
    postExchange(body: ExchangeIn): Observable<ExchangeOut>;
    /**
     * Updates an existing exchange with new data.
     *
     * @param {number} id - The unique identifier of the exchange to update.
     * @param {ExchangeIn} body - The data to update the exchange with.
     * @return {Observable<ExchangeOut>} An observable that emits the updated exchange data.
     */
    putExchange(id: number, body: ExchangeIn): Observable<ExchangeOut>;
    /**
     * Retrieves the current exchanges based on the given query parameters.
     *
     * @param {QueryParams} params - The query parameters to filter the exchanges.
     *
     * @returns {Observable<ExchangesOut>} - An observable that emits the API response data containing the current exchanges.
     */
    getCurrentExchanges(params: QueryParams): Observable<ExchangesOut>;
    /**
     * Fetches the country-specific tax information for a company.
     *
     * @param {QueryParams} params - The parameters used to filter and query the taxes.
     * @return {Observable<CompanyCountryTaxesOut>} An observable that emits the tax information.
     */
    getCompanyCountryTaxes(params: QueryParams): Observable<CompanyCountryTaxesOut>;
    /**
     * Fetches account information based on the provided query parameters.
     *
     * @param {QueryParams} params - The query parameters for fetching account data.
     * @return {Observable<AccountsOut>} An observable emitting the account data.
     */
    getAccounts(params: QueryParams): Observable<AccountsOut>;
    /**
     * Fetches the account information for the specified account ID.
     *
     * @param {number} id - The unique identifier of the account to retrieve.
     * @return {Observable<AccountOut>} An observable that emits the account details.
     */
    getAccount(id: number): Observable<AccountOut>;
    /**
     * Creates a new account by sending account details in the body.
     *
     * @param {AccountIn} body - The account information to be sent in the request body.
     * @return {Observable<AccountOut>} Observable that emits the created account details upon success.
     */
    postAccount(body: AccountIn): Observable<AccountOut>;
    /**
     * Updates an account with the specified ID using the provided data.
     *
     * @param {number} id - The unique identifier of the account to be updated.
     * @param {AccountIn} body - The data to update the account with.
     * @return {Observable<AccountOut>} An observable emitting the updated account details.
     */
    putAccount(id: number, body: AccountIn): Observable<AccountOut>;
    /**
     * Fetches account entity data from the server based on the provided query parameters.
     *
     * @param {QueryParams} params - The query parameters to be sent with the HTTP request.
     * @return {Observable<AccountEntitiesOut>} An observable that emits the account entities data.
     */
    getAccountEntities(params: QueryParams): Observable<AccountEntitiesOut>;
    /**
     * Updates an account entity using the provided details.
     *
     * @param {AccountEntitiesIn} body The account entity data to be updated.
     * @return {Observable<AccountEntitiesOut>} An observable containing the updated account entity details.
     */
    putAccountEntity(body: AccountEntitiesIn): Observable<AccountEntitiesOut>;
    /**
     * Retrieves the list of active account entities based on the provided query parameters.
     *
     * @param {QueryParams} params - The parameters to filter and query active account entities.
     * @return {Observable<AccountEntitiesOut>} An observable that emits the list of active account entities.
     */
    getAccountEntitiesActives(params: QueryParams): Observable<AccountEntitiesOut>;
    /**
     * Fetches a list of account categories based on the provided query parameters.
     *
     * @param {QueryParams} params - The query parameters used to filter the account categories.
     * @return {Observable<AccountCategoriesOut>} An observable that emits the fetched account categories data.
     */
    getAccountCategories(params: QueryParams): Observable<AccountCategoriesOut>;
    /**
     * Retrieves a list of account types from the server.
     *
     * @param {QueryParams} params - The query parameters to filter or customize the request.
     * @return {Observable<AccountTypesOut>} An observable emitting the account types data.
     */
    getAccountTypes(params: QueryParams): Observable<AccountTypesOut>;
    /**
     * Retrieves the account type for the given account ID.
     *
     * @param {number} id - The unique identifier of the account.
     * @return {Observable<AccountTypeOut>} An observable that emits the account type data.
     */
    getAccountType(id: number): Observable<AccountTypeOut>;
    /**
     * Sends a POST request to create a new account type.
     *
     * @param {AccountTypeIn} body - The data for the account type to be created.
     * @return {Observable<AccountTypeOut>} An observable that emits the created account type object.
     */
    postAccountType(body: AccountTypeIn): Observable<AccountTypeOut>;
    /**
     * Updates an account type with the specified ID using the provided data.
     *
     * @param {number} id - The unique identifier of the account type to update.
     * @param {AccountTypeIn} body - The data to update the account type with.
     * @return {Observable<AccountTypeOut>} An observable containing the updated account type data.
     */
    putAccountType(id: number, body: AccountTypeIn): Observable<AccountTypeOut>;
    /**
     * Retrieves parameters based on the provided query parameters.
     *
     * @param {QueryParams} params - The query parameters used to filter or fetch the desired parameters.
     * @return {Observable<ParametersOut>} An observable that emits the fetched parameters.
     */
    getParameters(params: QueryParams): Observable<ParametersOut>;
    /**
     * Retrieves the parameter values based on the provided parameter names.
     *
     * @param {Object} params - An object containing the required parameters.
     * @param {string[]} params.paramNames - An array of parameter names for which the values need to be fetched.
     * @return {Observable<ParametersValuesOut>} An observable that emits the fetched parameter values.
     */
    getParametersValues({ paramNames }: ParametersValuesIn): Observable<ParametersValuesOut>;
    /**
     * Retrieves parameter values based on the provided level configuration.
     *
     * @param {ParametersByLevelIn} parameters - The input object containing the criteria or level details to retrieve the parameters.
     * @return {Observable<ParametersValuesOut>} An observable that emits the parameter values fetched from the server.
     */
    getParameterValueByModel(parameters: ParametersByLevelIn): Observable<ParametersValuesOut>;
    /**
     * Retrieves the value of a specified parameter.
     *
     * @param {Object} input - The input object containing the parameter details.
     * @param {string} input.paramName - The name of the parameter whose value is to be retrieved.
     * @return {Observable<ParameterValueOut>} An observable emitting the value of the specified parameter.
     */
    getParameterValue({ paramName, }: ParameterValueIn): Observable<ParameterValueOut>;
    /**
     * Retrieves a list of country references based on the given query parameters.
     *
     * @param {QueryParams} params - The query parameters for retrieving country references.
     * @return {Observable<CountryReferencesOut>} An observable containing the country reference data.
     */
    getCountryReferences(params: QueryParams): Observable<CountryReferencesOut>;
    /**
     * Fetches the country reference data for a given country ID.
     *
     * @param {number} id - The unique identifier of the country for which the reference data is to be retrieved.
     * @return {Observable<CountryReferenceOut>} An observable containing the country reference data.
     */
    getCountryReference(id: number): Observable<CountryReferenceOut>;
    /**
     * Updates a country reference resource with the specified ID and data.
     *
     * @param {number} id - The unique identifier of the country reference to be updated.
     * @param {CountryReferenceIn} body - The data to update the country reference with.
     * @return {Observable<CountryReferenceOut>} An observable that emits the updated country reference object.
     */
    putCountryReference(id: number, body: CountryReferenceIn): Observable<CountryReferenceOut>;
    /**
     * Fetches the list of workflows based on the provided query parameters.
     *
     * @param {QueryParams} params - The query parameters used to filter workflows.
     * @return {Observable<WorkflowsOut>} An observable containing the workflow data.
     */
    getWorkflows(params: QueryParams): Observable<WorkflowsOut>;
    /**
     * Fetches the list of employee customer
     *
     * @param {QueryParams} params - The query parameters used to filter employee customers.
     * @return {Observable<EmployeeCustomersOut>} An observable containing the employee customer data.
     */
    getEmployeesCustomers(params: QueryParams): Observable<EmployeesCustomersOut>;
    /**
     * Sends a POST request to create or update employee customer records and processes the server response.
     *
     * @param {EmployeeCustomersIn} body - The request payload containing employee customer data to be sent to the server.
     * @return {Observable<EmployeeCustomersOut>} An observable that emits the updated employee customer data on successful response.
     */
    postEmployeeCustomers(body: EmployeeCustomersIn): Observable<EmployeeCustomersOut>;
    /**
     * Updates the employee-customer association record identified by the given ID with the provided data.
     *
     * @param {number} id - The identifier of the employee-customer record to update.
     * @param {EmployeeCustomersIn} body - The data to update the employee-customer record with.
     * @return {Observable<EmployeeCustomersOut>} An observable that emits the updated employee-customer data.
     */
    putEmployeeCustomers(id: number, body: EmployeeCustomersIn): Observable<EmployeeCustomersOut>;
    /**
     * Fetches the employee-customer details based on the provided employee customer ID.
     *
     * @param {number} id - The identifier of the employee-customer record to update.
     * @return {Observable<EmployeeCustomersOut>} An observable that emits the updated employee-customer data.
     */
    getEmployeeCustomer(id: number): Observable<EmployeeCustomersOut>;
    /**
     * Enables or disables an employee customer's active state.
     *
     * @param {EmployeeCustomerDhl} employee - The employee customer object to be updated.
     * @param {boolean} [isActive] - Optional parameter to explicitly set the active state.
     *                                If null or undefined, the active state will be toggled.
     * @return {Observable<EmployeeCustomersOut>} An observable containing the updated employee customer output.
     */
    patchEmployeeCustomers(employee: EmployeeCustomerDhl, isActive?: boolean): Observable<EmployeeCustomersOut>;
    /**
     * Submits a file containing employee customer data for a specific country to the server.
     *
     * @param {number} countryId - The identifier of the country for which the data is being uploaded.
     * @param {File} file - The file contains employee customer data to be uploaded.
     * @return {Observable<BoardingProcessIdIn>} Observable that emits the processed boarding process ID on success.
     */
    postEmployeeCustomersLoad(countryId: number, file: File): Observable<BoardingProcessIdIn>;
    /**
     * Downloads a file containing customer data for a specific employee based on the provided country ID.
     *
     * @param {number} id - The ID of the country used as a filter for fetching the employee's customers.
     * @return {Observable<Blob>} An observable that emits the file blob containing the customer data.
     */
    getEmployeeCustomersDownload(id: number): Observable<Blob>;
    /**
     * Retrieves the boarding process details for a given ID.
     *
     * @param {number} id - The unique identifier of the boarding process to retrieve.
     * @return {Observable<BoardingProcessIn>} An observable containing the boarding process details.
     */
    getBoardingProcess(id: number): Observable<BoardingProcessIn>;
    /**
     * Fetches a list of systems based on the provided query parameters.
     *
     * @param {QueryParams} params - The parameters used to filter the systems.
     * @return {Observable<SystemsOut>} An observable that emits the retrieved systems data.
     */
    getSystems(params: QueryParams): Observable<SystemsOut>;
    /**
     * Retrieves the system by the specified ID.
     *
     * @param {number} id - The unique identifier of the system to be retrieved.
     * @return {Observable<SystemOut>} An observable that emits the requested system information.
     */
    getSystem(id: number): Observable<SystemOut>;
    /**
     * Sends a POST request to create or update a system.
     *
     * @param {SystemIn} body - The data representing the system to be created or updated.
     * @return {Observable<SystemOut>} An observable emitting the resulting system output after the API request succeeds.
     */
    postSystem(body: SystemIn): Observable<SystemOut>;
    /**
     * Updates the system identified by the given ID with the provided request body and returns the updated system details.
     *
     * @param {number} id - The unique identifier of the system to be updated.
     * @param {SystemIn} body - The payload containing the updated system details.
     * @return {Observable<SystemOut>} An observable emitting the updated system data.
     */
    putSystem(id: number, body: SystemIn): Observable<SystemOut>;
    /**
     * Retrieves a list of system entities based on the specified query parameters.
     *
     * @param {QueryParams} params - The query parameters used to filter or specify the system entities to retrieve.
     * @return {Observable<SystemEntitiesOut>} An Observable that emits the retrieved system entities.
     */
    getSystemEntities(params: QueryParams): Observable<SystemEntitiesOut>;
    /**
     * Updates the system entities by sending the provided data to the server.
     *
     * @param {SystemEntitiesIn} body - The data object representing the system entities to be updated.
     * @return {Observable<SystemEntitiesOut>} An observable containing the updated system entities data.
     */
    putSystemEntities(body: SystemEntitiesIn): Observable<SystemEntitiesOut>;
    /**
     * Retrieves workflow configurations based on the provided query parameters.
     *
     * @param {QueryParams} params - The query parameters to filter the workflow configurations.
     * @return {Observable<WorkflowConfigsOut>} An observable emitting the workflow configurations.
     */
    getWorkflowConfigs(params: QueryParams): Observable<WorkflowConfigsOut>;
    /**
     * Sends a batch of workflow configuration data to the server for processing.
     *
     * @param {WorkflowConfigsBatchIn} body - The input data containing a batch of workflow configurations to be sent.
     * @return {Observable<WorkflowConfigsOut>} An observable that emits the processed batch of workflow configuration data as a response.
     */
    postWorkflowConfigsBatch(body: WorkflowConfigsBatchIn): Observable<WorkflowConfigsOut>;
    /**
     * Sends a POST request to create a new company and returns the created company's details.
     *
     * @param {CompanyIn} body - The payload containing the details of the company to be created.
     * @return {Observable<CompanyOut>} An Observable emitting the response with the created company's details.
     */
    postCompany(body: CompanyIn): Observable<CompanyOut>;
    /**
     * Updates the details of an existing company using its ID.
     *
     * @param {number} id - The unique identifier of the company to update.
     * @param {CompanyIn} body - The object containing the updated company data.
     * @return {Observable<CompanyOut>} An observable that emits the updated company details.
     */
    putCompany(id: number, body: CompanyIn): Observable<CompanyOut>;
    /**
     * Deletes a company by its unique identifier.
     *
     * @param {number} id - The unique identifier of the company to be deleted.
     * @return {Observable<{}>} An observable that emits an empty object upon successful deletion or an error if the operation fails.
     */
    deleteCompany(id: number): Observable<{}>;
    /**
     * Fetches product entities from the server based on the provided query parameters.
     *
     * @param {QueryParams} params The query parameters used to modify the request for product entities.
     * @return {Observable<ProductEntitiesOut>} An observable that emits the product entities retrieved from the server.
     */
    getProductEntities(params: QueryParams): Observable<ProductEntitiesOut>;
    /**
     * Sends a PUT request to update product entities and returns the updated entity.
     *
     * @param {ProductEntitiesIn} body - The payload containing the data to update the product entity.
     * @return {Observable<ProductEntitiesOut>} Observable that emits the updated product entity.
     */
    putProductEntities(body: ProductEntitiesIn): Observable<ProductEntitiesOut>;
    /**
     * Retrieves the country reference products based on the given query parameters.
     *
     * @param {QueryParams} params The query parameters used to filter and retrieve the country reference products.
     * @return {Observable<CountryReferenceProductsOut>} An observable emitting the fetched country reference products data.
     */
    getCountryReferenceProducts(params: QueryParams): Observable<CountryReferenceProductsOut>;
    /**
     * Sends a request to update or create country reference products.
     *
     * @param {CountryReferenceProductIn} body - The payload containing the details of the country reference products to post.
     * @return {Observable<CountryReferenceProductOut>} An observable that emits the updated or created country reference product data.
     */
    postCountryReferenceProducts(body: CountryReferenceProductIn): Observable<CountryReferenceProductOut>;
    /**
     * Updates a country reference product with the specified ID using the provided data.
     *
     * @param {number} id - The unique identifier of the country reference product to update.
     * @param {CountryReferenceProductIn} body - The updated country reference product data to be sent in the request body.
     * @return {Observable<CountryReferenceProductOut>} An observable emitting the updated country reference product.
     */
    putCountryReferenceProducts(id: number, body: CountryReferenceProductIn): Observable<CountryReferenceProductOut>;
    /**
     * Fetches the extra charge entities from the server based on the provided query parameters.
     *
     * @param {QueryParams} params - An object containing the query parameters to filter the extra charge entities.
     * @return {Observable<ExtraChargeEntitiesOut>} An observable that emits the extra charge entities retrieved from the server.
     */
    getExtraChargeEntities(params: QueryParams): Observable<ExtraChargeEntitiesOut>;
    /**
     * Updates extra charge entities by sending the provided data to the server.
     *
     * @param {ExtraChargeEntitiesIn} body - The data to update the extra charge entities.
     * @return {Observable<ExtraChargeEntitiesOut>} An observable that emits the updated extra charge entities.
     */
    putExtraChargeEntities(body: ExtraChargeEntitiesIn): Observable<ExtraChargeEntitiesOut>;
    /**
     * Retrieves the parameter configurations based on the provided query parameters.
     *
     * @param {QueryParams} params - The query parameters to filter the parameter configurations.
     * @return {Observable<ParameterConfigsOut>} An observable that emits the parameter configurations data.
     */
    getParameterConfigs(params: QueryParams): Observable<ParameterConfigsOut>;
    /**
     * Submits a configuration for parameters to the server.
     *
     * @param {ParameterConfigIn} body - The input configuration object containing the parameters to be submitted.
     * @return {Observable<ParameterConfigOut>} An observable emitting the server's response containing the updated parameter configuration.
     */
    postParameterConfig(body: ParameterConfigIn): Observable<ParameterConfigOut>;
    /**
     * Updates the configuration of a parameter with the provided ID and input data.
     *
     * @param {number} id - The unique identifier of the parameter configuration to be updated.
     * @param {ParameterConfigIn} body - The input data containing the updated configuration for the parameter.
     * @return {Observable<ParameterConfigOut>} An observable that emits the updated parameter configuration.
     */
    putParameterConfig(id: number, body: ParameterConfigIn): Observable<ParameterConfigOut>;
    /**
     * Deletes a parameter configuration specified by its ID.
     *
     * @param {number} id - The unique identifier of the parameter configuration to be deleted.
     * @return {Observable<ParameterConfigOut>} An observable containing the deleted parameter configuration data.
     */
    deleteParameterConfig(id: number): Observable<ParameterConfigOut>;
    static ɵfac: i0.ɵɵFactoryDeclaration<ApiCompaniesService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ApiCompaniesService>;
}
