/**
 * VRt.Packer [PC]
 *
 * The version of the OpenAPI document: 7.18.2755
 * Contact: servicedesk@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
import { HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs';
import { CalculationAsyncResultPacker } from '../model/models';
import { CalculationStatePacker } from '../model/models';
import { PackResultPacker } from '../model/models';
import { PackTaskPacker } from '../model/models';
import { ValidateResultPacker } from '../model/models';
import { Configuration } from '../configuration';
export interface CancelPackCalculationRequestParams {
    processCode: string;
}
export interface DeletePackResultRequestParams {
    processCode: string;
}
export interface ReadPackResultRequestParams {
    processCode: string;
}
export interface ReadPackStateRequestParams {
    processCode: string;
}
export interface RunPackCalculationRequestParams {
    packTaskPacker: PackTaskPacker;
}
export interface RunPackCalculationAsyncRequestParams {
    packTaskPacker: PackTaskPacker;
}
export interface RunPackValidationRequestParams {
    packTaskPacker: PackTaskPacker;
}
export interface PackServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     * Cancel calculation
     * Cancel calculation process by the calculation identifier.
* @param requestParameters
     */
    cancelPackCalculation(requestParameters: CancelPackCalculationRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Result removal
     * Removal of the planning result by the calculation identifier.
* @param requestParameters
     */
    deletePackResult(requestParameters: DeletePackResultRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Getting the result
     * Getting the result based on the calculation identifier.
* @param requestParameters
     */
    readPackResult(requestParameters: ReadPackResultRequestParams, extraHttpRequestParams?: any): Observable<PackResultPacker>;
    /**
     * Calculation state
     * Read calculation state by the calculation identifier.
* @param requestParameters
     */
    readPackState(requestParameters: ReadPackStateRequestParams, extraHttpRequestParams?: any): Observable<CalculationStatePacker>;
    /**
     * Packing (SYNC)
     * Planning the optimal package.
* @param requestParameters
     */
    runPackCalculation(requestParameters: RunPackCalculationRequestParams, extraHttpRequestParams?: any): Observable<PackResultPacker>;
    /**
     * Packing (ASYNC)
     * The result can be obtained using the [result](#operation/read_pack_result) method, removing - with [delete](#operation/delete_pack_result).
* @param requestParameters
     */
    runPackCalculationAsync(requestParameters: RunPackCalculationAsyncRequestParams, extraHttpRequestParams?: any): Observable<CalculationAsyncResultPacker>;
    /**
     * Data validation
     * Checking data before planning.
* @param requestParameters
     */
    runPackValidation(requestParameters: RunPackValidationRequestParams, extraHttpRequestParams?: any): Observable<ValidateResultPacker>;
}
