import { HttpParameterCodec, HttpHeaders, HttpParams, HttpClient, HttpContext, HttpResponse, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs';
import * as i0 from '@angular/core';
import { InjectionToken, ModuleWithProviders, EnvironmentProviders } from '@angular/core';

/**
 * Standard parameter styles defined by OpenAPI spec
 */
type StandardParamStyle = 'matrix' | 'label' | 'form' | 'simple' | 'spaceDelimited' | 'pipeDelimited' | 'deepObject';
/**
 * The OpenAPI standard {@link StandardParamStyle}s may be extended by custom styles by the user.
 */
type ParamStyle = StandardParamStyle | string;
/**
 * Standard parameter locations defined by OpenAPI spec
 */
type ParamLocation = 'query' | 'header' | 'path' | 'cookie';
/**
 * Standard types as defined in <a href="https://swagger.io/specification/#data-types">OpenAPI Specification: Data Types</a>
 */
type StandardDataType = "integer" | "number" | "boolean" | "string" | "object" | "array";
/**
 * Standard {@link DataType}s plus your own types/classes.
 */
type DataType = StandardDataType | string;
/**
 * Standard formats as defined in <a href="https://swagger.io/specification/#data-types">OpenAPI Specification: Data Types</a>
 */
type StandardDataFormat = "int32" | "int64" | "float" | "double" | "byte" | "binary" | "date" | "date-time" | "password";
type DataFormat = StandardDataFormat | string;
/**
 * The parameter to encode.
 */
interface Param {
    name: string;
    value: unknown;
    in: ParamLocation;
    style: ParamStyle;
    explode: boolean;
    dataType: DataType;
    dataFormat: DataFormat | undefined;
}

interface ConfigurationParameters {
    /**
     *  @deprecated Since 5.0. Use credentials instead
     */
    apiKeys?: {
        [key: string]: string;
    };
    username?: string;
    password?: string;
    /**
     *  @deprecated Since 5.0. Use credentials instead
     */
    accessToken?: string | (() => string);
    basePath?: string;
    withCredentials?: boolean;
    /**
     * Takes care of encoding query- and form-parameters.
     */
    encoder?: HttpParameterCodec;
    /**
     * Override the default method for encoding path parameters in various
     * <a href="https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#style-values">styles</a>.
     * <p>
     * See {@link README.md} for more details
     * </p>
     */
    encodeParam?: (param: Param) => string;
    /**
     * The keys are the names in the securitySchemes section of the OpenAPI
     * document. They should map to the value used for authentication
     * minus any standard prefixes such as 'Basic' or 'Bearer'.
     */
    credentials?: {
        [key: string]: string | (() => string | undefined);
    };
}
declare class Configuration {
    /**
     *  @deprecated Since 5.0. Use credentials instead
     */
    apiKeys?: {
        [key: string]: string;
    };
    username?: string;
    password?: string;
    /**
     *  @deprecated Since 5.0. Use credentials instead
     */
    accessToken?: string | (() => string);
    basePath?: string;
    withCredentials?: boolean;
    /**
     * Takes care of encoding query- and form-parameters.
     */
    encoder?: HttpParameterCodec;
    /**
     * Encoding of various path parameter
     * <a href="https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#style-values">styles</a>.
     * <p>
     * See {@link README.md} for more details
     * </p>
     */
    encodeParam: (param: Param) => string;
    /**
     * The keys are the names in the securitySchemes section of the OpenAPI
     * document. They should map to the value used for authentication
     * minus any standard prefixes such as 'Basic' or 'Bearer'.
     */
    credentials: {
        [key: string]: string | (() => string | undefined);
    };
    constructor({ accessToken, apiKeys, basePath, credentials, encodeParam, encoder, password, username, withCredentials }?: ConfigurationParameters);
    /**
     * Select the correct content-type to use for a request.
     * Uses {@link Configuration#isJsonMime} to determine the correct content-type.
     * If no content type is found return the first found type if the contentTypes is not empty
     * @param contentTypes - the array of content types that are available for selection
     * @returns the selected content-type or <code>undefined</code> if no selection could be made.
     */
    selectHeaderContentType(contentTypes: string[]): string | undefined;
    /**
     * Select the correct accept content-type to use for a request.
     * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.
     * If no content type is found return the first found type if the contentTypes is not empty
     * @param accepts - the array of content types that are available for selection.
     * @returns the selected content-type or <code>undefined</code> if no selection could be made.
     */
    selectHeaderAccept(accepts: string[]): string | undefined;
    /**
     * Check if the given MIME is a JSON MIME.
     * JSON MIME examples:
     *   application/json
     *   application/json; charset=UTF8
     *   APPLICATION/JSON
     *   application/vnd.company+json
     * @param mime - MIME (Multipurpose Internet Mail Extensions)
     * @return True if the given MIME is JSON, false otherwise.
     */
    isJsonMime(mime: string): boolean;
    lookupCredential(key: string): string | undefined;
    addCredentialToHeaders(credentialKey: string, headerName: string, headers: HttpHeaders, prefix?: string): HttpHeaders;
    addCredentialToQuery(credentialKey: string, paramName: string, query: HttpParams): HttpParams;
    private defaultEncodeParam;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

declare class BaseService {
    protected basePath: string;
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    encoder: HttpParameterCodec;
    constructor(basePath?: string | string[], configuration?: Configuration);
    protected canConsumeForm(consumes: string[]): boolean;
    protected addToHttpParams(httpParams: HttpParams, value: any, key?: string, isDeep?: boolean): HttpParams;
    protected addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string, isDeep?: boolean): HttpParams;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

interface CreateBackupRequestParams {
    targetFolderKey: string;
}
interface RestoreBackupRequestParams {
    targetFolderKey: string;
    body: string;
}
interface BackupsServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     * Folder export
     * Export folder with experiments.
* @param requestParameters
     */
    createBackup(requestParameters: CreateBackupRequestParams, extraHttpRequestParams?: any): Observable<string>;
    /**
     * Folder import
     * Import folder with experiments. The folder should not be of type ROOT and should be empty.
* @param requestParameters
     */
    restoreBackup(requestParameters: RestoreBackupRequestParams, extraHttpRequestParams?: any): Observable<{}>;
}

declare class BackupsService extends BaseService implements BackupsServiceInterface {
    protected httpClient: HttpClient;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration?: Configuration);
    /**
     * Folder export
     * Export folder with experiments.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createBackup(requestParameters: CreateBackupRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream' | 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<string>;
    createBackup(requestParameters: CreateBackupRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream' | 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<string>>;
    createBackup(requestParameters: CreateBackupRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream' | 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<string>>;
    /**
     * Folder import
     * Import folder with experiments. The folder should not be of type ROOT and should be empty.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    restoreBackup(requestParameters: RestoreBackupRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    restoreBackup(requestParameters: RestoreBackupRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    restoreBackup(requestParameters: RestoreBackupRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<BackupsService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<BackupsService>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Entity type. Defines the source object with attributes and the target table.
 */
declare enum CustomfieldEntityTypeStudio {
    LOCATION = "LOCATION",
    ORDER = "ORDER",
    DEMAND = "DEMAND",
    PERFORMER = "PERFORMER",
    PERFORMER_SHIFT = "PERFORMER_SHIFT",
    TRANSPORT = "TRANSPORT",
    TRANSPORT_SHIFT = "TRANSPORT_SHIFT",
    HARDLINK = "HARDLINK",
    TRIP = "TRIP",
    ROUNDTRIP = "ROUNDTRIP",
    FACT = "FACT",
    TRIP_STOP = "TRIP_STOP"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Name in different languages.
 */
interface TranslationsStudio {
    [key: string]: any | any;
    /**
     * Name, information field.
     */
    ru?: string;
    /**
     * Name, information field.
     */
    en?: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * The name of the additional column in the table. Used for filters of the `CUSTOMFIELDS` type.
 */
declare enum TableCustomfieldsColumnTypeStudio {
    DATETIME_0 = "DATETIME_0",
    DATETIME_1 = "DATETIME_1",
    DATETIME_2 = "DATETIME_2",
    DATETIME_3 = "DATETIME_3",
    DATETIME_4 = "DATETIME_4",
    DATETIME_5 = "DATETIME_5",
    DATETIME_6 = "DATETIME_6",
    DATETIME_7 = "DATETIME_7",
    DATETIME_8 = "DATETIME_8",
    DATETIME_9 = "DATETIME_9",
    INT_0 = "INT_0",
    INT_1 = "INT_1",
    INT_2 = "INT_2",
    INT_3 = "INT_3",
    INT_4 = "INT_4",
    INT_5 = "INT_5",
    INT_6 = "INT_6",
    INT_7 = "INT_7",
    INT_8 = "INT_8",
    INT_9 = "INT_9",
    FLOAT_0 = "FLOAT_0",
    FLOAT_1 = "FLOAT_1",
    FLOAT_2 = "FLOAT_2",
    FLOAT_3 = "FLOAT_3",
    FLOAT_4 = "FLOAT_4",
    FLOAT_5 = "FLOAT_5",
    FLOAT_6 = "FLOAT_6",
    FLOAT_7 = "FLOAT_7",
    FLOAT_8 = "FLOAT_8",
    FLOAT_9 = "FLOAT_9",
    DURATION_0 = "DURATION_0",
    DURATION_1 = "DURATION_1",
    DURATION_2 = "DURATION_2",
    DURATION_3 = "DURATION_3",
    DURATION_4 = "DURATION_4",
    DURATION_5 = "DURATION_5",
    DURATION_6 = "DURATION_6",
    DURATION_7 = "DURATION_7",
    DURATION_8 = "DURATION_8",
    DURATION_9 = "DURATION_9",
    BOOL_0 = "BOOL_0",
    BOOL_1 = "BOOL_1",
    BOOL_2 = "BOOL_2",
    BOOL_3 = "BOOL_3",
    BOOL_4 = "BOOL_4",
    BOOL_5 = "BOOL_5",
    BOOL_6 = "BOOL_6",
    BOOL_7 = "BOOL_7",
    BOOL_8 = "BOOL_8",
    BOOL_9 = "BOOL_9",
    STRING_0 = "STRING_0",
    STRING_1 = "STRING_1",
    STRING_2 = "STRING_2",
    STRING_3 = "STRING_3",
    STRING_4 = "STRING_4",
    STRING_5 = "STRING_5",
    STRING_6 = "STRING_6",
    STRING_7 = "STRING_7",
    STRING_8 = "STRING_8",
    STRING_9 = "STRING_9"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Rule for converting a custom field from an attribute.
 */
interface CustomfieldConvertRuleStudio {
    [key: string]: any | any;
    entity_type: CustomfieldEntityTypeStudio;
    /**
     * The attribute key whose value will be written to the specified custom field.
     */
    source_attribute_key: string;
    target_customfield: TableCustomfieldsColumnTypeStudio | null;
    translations?: TranslationsStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Custom fields settings.
 */
interface CustomfieldsSettingsStudio {
    [key: string]: any | any;
    /**
     * List of rules for converting custom fields.
     */
    rules: Array<CustomfieldConvertRuleStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * List of setting keys with indicating the key of the currently active setting.
 */
interface SettingsKeyListStudio {
    [key: string]: any | any;
    /**
     * List of setting keys.
     */
    settings_keys: Array<string>;
    /**
     * Settings key (nullable), unique identifier.
     */
    active_key?: string | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Actualize settings.
 */
interface ActualizeSettingsStudio {
    [key: string]: any | any;
    /**
     * Current date and time according to the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6). If not specified, the current time when the request was received by the server is taken.
     */
    current_time?: string | null;
    /**
     * Acceptable delay. Affects the shift of the right boundaries of hard time windows of orders and time windows of work shifts of performers and transports.
     */
    max_delay_duration?: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Time window.
 */
interface TimeWindowStudio {
    [key: string]: any | any;
    /**
     * Date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format.
     */
    from: string;
    /**
     * Date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format.
     */
    to: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Performer\'s shift assigned to the specified time (`shift_time`).
 */
interface AssignedPerformerStudio {
    [key: string]: any | any;
    /**
     * Performer\'s key, unique identifier.
     */
    performer_key: string;
    /**
     * Performer\'s shift key.
     */
    shift_key: string;
    shift_time: TimeWindowStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Transport\'s shift assigned to the specified time (`shift_time`).
 */
interface AssignedTransportStudio {
    [key: string]: any | any;
    /**
     * Transport key, unique identifier.
     */
    transport_key: string;
    /**
     * Transport\'s shift key.
     */
    shift_key: string;
    shift_time: TimeWindowStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Attribute.
 */
interface AttributeStudio {
    [key: string]: any | any;
    /**
     * Attribute\'s key.
     */
    key: string;
    /**
     * Attribute\'s value.
     */
    value: string;
    /**
     * Attribute processing strategy:    * `LASTMILE_REF_TIME` - when sending a task to the scheduler, the value (format [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6)) of the attribute is replaced with a relative time; if the value is not in the format, the calculation stops with the `FAILED` status.
     */
    strategy?: string | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Process name:   * `PLAN` - planning   * `REPLAN` - replanning   * `ACTUALIZE` - actualization
 */
declare enum BasicProcessStudio {
    PLAN = "PLAN",
    REPLAN = "REPLAN",
    ACTUALIZE = "ACTUALIZE"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Entity state that determines its relation to the dataset:   * `UNPLANNED` - new entity   * `PLANNED` - the entity is planned in a specific trip at a specific time   * `ASSIGNED` - the entity is assigned to a specific trip without a specific time   * `COMPLETED` - the entity is completed and no longer participates in the calculation   * `ERROR` - the entity contains data errors
 */
declare enum BasicStateStudio {
    UNPLANNED = "UNPLANNED",
    PLANNED = "PLANNED",
    ASSIGNED = "ASSIGNED",
    COMPLETED = "COMPLETED",
    ERROR = "ERROR"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Transport box [compatibilities](#section/Description/Compatibilities).
 */
interface BoxCompatibilitiesStudio {
    [key: string]: any | any;
    /**
     * Width in meters.
     */
    width?: number;
    /**
     * Height in meters.
     */
    height?: number;
    /**
     * Length in meters.
     */
    length?: number;
    /**
     * A list of tags that define a property or requirement.
     */
    box_features?: Array<string>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Capacity characteristics.
 */
interface CapacityStudio {
    [key: string]: any | any;
    /**
     * Weight in kilograms.
     */
    mass?: number;
    /**
     * Volume in cubic meters.
     */
    volume?: number;
    /**
     * Additional parameter (A) for measuring cargoes and boxes in alternative units. For example, to account for cargo in pieces (this parameter is equal to one for a cargo and the maximum number of cargo to hold for a box).
     */
    capacity_a?: number;
    /**
     * Additional parameter (B) for measuring cargoes and boxes in alternative units.
     */
    capacity_b?: number;
    /**
     * Additional parameter (C) for measuring cargoes and boxes in alternative units.
     */
    capacity_c?: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Box limits.
 */
interface BoxLimitsStudio {
    [key: string]: any | any;
    max_one_cargo_capacity?: CapacityStudio | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * A transport box capable to hold a cargo.
 */
interface BoxStudio {
    [key: string]: any | any;
    /**
     * Unique box key used to identify the cargo placement in boxes.
     */
    key: string;
    capacity?: CapacityStudio | null;
    compatibilities?: BoxCompatibilitiesStudio | null;
    limits?: BoxLimitsStudio | null;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * The condition for the onset and characteristics of a break.
 */
interface BreakStudio {
    [key: string]: any | any;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    relocating_duration_sum: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    operating_duration_sum?: string | null;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    duration: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Rules for accounting for breaks.
 */
interface BreakRulesStudio {
    [key: string]: any | any;
    /**
     * The condition for the onset and characteristics of a first break.
     */
    first: BreakStudio;
    consecutive?: BreakStudio | null;
    /**
     * Type of accounting for time spent moving between locations (total or continuous).
     */
    relocating_duration_type?: BreakRulesStudioRelocatingDurationTypeEnum;
}
declare enum BreakRulesStudioRelocatingDurationTypeEnum {
    TOTAL = "TOTAL",
    CONTINUOUS = "CONTINUOUS"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Statistics on capacity characteristics (ratio).  It may be more than one.
 */
interface CapacityStatisticsRatioStudio {
    [key: string]: any | any;
    /**
     * Loading by mass, in fractions of a unit.
     */
    mass: number;
    /**
     * Loading by volume, in fractions of a unit.
     */
    volume: number;
    /**
     * Loading by additional parameter (A), in fractions of a unit.
     */
    capacity_a: number;
    /**
     * Loading by additional parameter (B), in fractions of a unit.
     */
    capacity_b: number;
    /**
     * Loading by additional parameter (C), in fractions of a unit.
     */
    capacity_c: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Statistics on capacity characteristics (ratio). Cannot be greater than one.
 */
interface CapacityStatisticsLoadStudio {
    [key: string]: any | any;
    /**
     * Loading by mass, in fractions of a unit.
     */
    mass: number;
    /**
     * Loading by volume, in fractions of a unit.
     */
    volume: number;
    /**
     * Loading by additional parameter (A), in fractions of a unit.
     */
    capacity_a: number;
    /**
     * Loading by additional parameter (B), in fractions of a unit.
     */
    capacity_b: number;
    /**
     * Loading by additional parameter (C), in fractions of a unit.
     */
    capacity_c: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Measurements of times and distances for work on location, individual trips and planning in general.
 */
interface MeasurementsStudio {
    [key: string]: any | any;
    time_window: TimeWindowStudio;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    driving_time: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    waiting_time: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    working_time: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    break_time: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    rest_time: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    arriving_time: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    departure_time: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    total_time: string;
    /**
     * Distance in meters.
     */
    distance: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Statistics on capacity characteristics.
 */
interface CapacityStatisticsSumStudio {
    [key: string]: any | any;
    /**
     * Total weight in kilograms.
     */
    mass: number;
    /**
     * Total volume in cubic meters.
     */
    volume: number;
    /**
     * Amount for additional parameter (A) for measuring loads in alternative units of measurement.
     */
    capacity_a: number;
    /**
     * Amount for additional parameter (B) for measuring loads in alternative units of measurement.
     */
    capacity_b: number;
    /**
     * Amount for additional parameter (C) for measuring loads in alternative units of measurement.
     */
    capacity_c: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Summary statistics for one or a set of trips.
 */
interface GeneralStatisticsStudio {
    [key: string]: any | any;
    /**
     * Total cost calculated based on the performer\'s and transport tariffs.
     */
    cost: number;
    /**
     * The total reward for orders fulfillment.
     */
    reward: number;
    /**
     * The total profit is equal to the difference between the total reward (`reward`) and cost (`cost`).
     */
    profit: number;
    /**
     * Measurements of times and distances for aggregate and individual trips:    * `time_window` - the start time of the first trip and the end time of the last, if there are no trips, the time of the left border of the planning horizon is returned, while the from \\ to fields have the same value   * `driving_time` - duration of driving time   * `waiting_time` - total waiting time for all locations   * `working_time` - total time of work execution at all locations included in the trip   * `break_time` - total break time for all locations   * `rest_time` - total rest time for all locations   * `arriving_time` - total time to drive / park at locations   * `departure_time` - total time for departure from locations   * `total_time` - total time, composed of `driving_time` + `waiting_time` + `working_time` + `break_time` + `rest_time` + `arriving_time` + `departure_time`   * `distance` - the total length of the roundtrip/trip/set of trips, in meters
     */
    measurements: MeasurementsStudio;
    /**
     * The total number of planned trips.
     */
    trips_count: number;
    /**
     * The total number of performers involved in orders fulfillment.
     */
    performers_count: number;
    /**
     * The total number of planned and assigned orders.
     */
    orders_count: number;
    /**
     * The total number of planned orders.
     */
    plan_orders_count: number;
    /**
     * The total number of assigned orders.
     */
    waitlist_orders_count: number;
    /**
     * The total number of stops (non-unique locations).
     */
    stops_count: number;
    /**
     * The total number of unique locations within one trip. For general statistics - the sum of unique locations within each trip.
     */
    locations_count: number;
    /**
     * Total additive measures of the transported cargo.
     */
    cargo_capacity_sum: CapacityStatisticsSumStudio;
    /**
     * The ratio of the total additive measures of the transported cargo to the total capacity of the boxes. In fractions of a unit. It may be more than one.
     */
    cargo_capacity_ratio: CapacityStatisticsRatioStudio;
    /**
     * The ratio of the maximum load of boxes to the total capacity of boxes. In fractions of a unit. Cannot be greater than one.
     */
    max_transport_load: CapacityStatisticsLoadStudio;
    /**
     * Average speed is the ratio of the total distance to the total time of movement, km/h.
     */
    average_speed: number;
    /**
     * Number of [roundtrips](#section/Description/Roundtrips) within a trip.
     */
    round_trips_count: number;
    /**
     * Average mileage per roundtrip is the ratio of the total mileage per trip to the number of roundtrips, in meters.
     */
    average_roundtrip_distance: number;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    average_roundtrip_time: string;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Experiment calculation history element.
 */
interface CalculationHistoryElementStudio {
    [key: string]: any | any;
    /**
     * Date and time of receiving statistics in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format.
     */
    time: string;
    total_statistics: GeneralStatisticsStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Calculation status:   * `WAITING` - the calculation is waiting to be launched.   * `IN_PROGRESS` - calculation in progress.   * `FINISHED_IN_TIME` - the calculation completed correctly before the specified maximum time.   * `FINISHED_OUT_OF_TIME` - the calculation ended because the specified time for calculation has expired, which can affect the quality of the result for the worse.   * `CANCELED` - the calculation was canceled because a cancel command was received.   * `CANCELED_BY_TIMEOUT` - the calculation was canceled automatically because the waiting time in the queue was exceeded.   * `CANCELED_BY_QUOTA` - the calculation was canceled because the quota for this calculation type was exceeded.   * `FAILED` - calculation completed with an error.
 */
declare enum CalculationStatusStudio {
    WAITING = "WAITING",
    IN_PROGRESS = "IN_PROGRESS",
    FINISHED_IN_TIME = "FINISHED_IN_TIME",
    FINISHED_OUT_OF_TIME = "FINISHED_OUT_OF_TIME",
    CANCELED = "CANCELED",
    CANCELED_BY_TIMEOUT = "CANCELED_BY_TIMEOUT",
    CANCELED_BY_QUOTA = "CANCELED_BY_QUOTA",
    FAILED = "FAILED"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Calculation information.
 */
interface CalculationInfoStudio {
    [key: string]: any | any;
    status: CalculationStatusStudio;
    /**
     * Message with additional information about the calculation status.
     */
    message?: string | null;
    /**
     * Planning result version.
     */
    result_version: number;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    preparing_time: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    business_validation_time: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    math_validation_time: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    waiting_time: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    calculation_time: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    postprocessing_time?: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Calculation settings.
 */
interface CalculationSettingsStudio {
    [key: string]: any | any;
    /**
     * Max calculation time. The countdown starts from the time when data is uploaded to the server and calculation starts.
     */
    max_calculation_time?: string;
    /**
     * Max calculation time. The countdown starts from the time when data is uploaded to the server.
     */
    max_waiting_time?: string;
    /**
     * Calculation result lifetime. The countdown starts from the time when the calculation is completed.
     */
    result_ttl?: string;
    /**
     * Timezone.
     */
    result_timezone?: number;
    /**
     * Treat warnings as errors and do not run calculations if at least one entity contains invalid data.
     */
    treat_warnings_as_errors?: boolean;
    /**
     * Specifies the calculation accuracy in the decimal point sequence number. It equals 3 by default, so the accuracy is 0.001.
     */
    precision?: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Service name.
 */
declare enum ServiceStudio {
    UNIVERSAL = "UNIVERSAL",
    ROUTING = "ROUTING",
    ACCOUNT = "ACCOUNT",
    ADMIN = "ADMIN",
    STUDIO = "STUDIO",
    MONITOR = "MONITOR",
    PACKER = "PACKER",
    AGRO = "AGRO",
    REGISTRY = "REGISTRY",
    SUPPORT = "SUPPORT"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Data for request tracing.
 */
interface TracedataStudio {
    [key: string]: any | any;
    /**
     * Unique process identifier. One is created per process, the same for different requests for the same process.
     */
    process_code: string;
    /**
     * Unique identifier of the request. A new one is created for each request.
     */
    request_code: string;
    /**
     * Unique username for login.
     */
    username: string;
    /**
     * Unique company key.
     */
    company: string;
    service: ServiceStudio;
    /**
     * Operation (request) name.
     */
    operation: string;
    /**
     * Environment identifier.
     */
    env: string;
    /**
     * Pod identifier.
     */
    pod: string;
    /**
     * Date and time service method run in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format.
     */
    time: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Current calculation state.
 */
interface CalculationStateStudio {
    [key: string]: any | any;
    tracedata: TracedataStudio;
    /**
     * Calculation progress as a percentage. The progress displays the current number of completed steps.
     */
    calculation_progress: number;
    calculation_info: CalculationInfoStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Cost per capacity element.
 */
interface CapacityCostStudio {
    [key: string]: any | any;
    /**
     * Cost per kilogram, in conventional monetary units.
     */
    mass: number;
    /**
     * Cost per cubic meter, in conventional monetary units.
     */
    volume: number;
    /**
     * Cost per unit of additional parameter (A), in conventional monetary units.
     */
    capacity_a: number;
    /**
     * Cost per unit of additional parameter (B), in conventional monetary units.
     */
    capacity_b: number;
    /**
     * Cost per unit of additional parameter (C), in conventional monetary units.
     */
    capacity_c: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Capacity limits.
 */
interface CapacityLimitStudio {
    [key: string]: any | any;
    /**
     * Weight in kilograms.
     */
    mass: number;
    /**
     * Volume in cubic meters.
     */
    volume: number;
    /**
     * Additional parameter (A) for measuring cargoes and boxes in alternative units.
     */
    capacity_a: number;
    /**
     * Additional parameter (B) for measuring cargoes and boxes in alternative units.
     */
    capacity_b: number;
    /**
     * Additional parameter (C) for measuring cargoes and boxes in alternative units.
     */
    capacity_c: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Capacity change rate for the specified transport type.
 */
interface CapacityMultiplierStudio {
    [key: string]: any | any;
    /**
     * Mass multiplier.
     */
    mass?: number;
    /**
     * Volume multiplier.
     */
    volume?: number;
    /**
     * Additional parameter (A) multiplier.
     */
    capacity_a?: number;
    /**
     * Additional parameter (B) multiplier.
     */
    capacity_b?: number;
    /**
     * Additional parameter (C) multiplier.
     */
    capacity_c?: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Types of actions with cargo:   * `ADD` - moving cargo into the box   * `REMOVE` - moving cargo from the box
 */
declare enum CargoActionTypeStudio {
    ADD = "ADD",
    REMOVE = "REMOVE"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Action with a cargo.
 */
interface CargoActionStudio {
    [key: string]: any | any;
    /**
     * Box key.
     */
    box_key: string;
    /**
     * Cargo key.
     */
    cargo_key: string;
    cargo_action_type: CargoActionTypeStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * The ability of the cargo to rotate in 90 degree increments around the axes:   * `ALL` - any axes.   * `YAW` - around the Z axis.   * `PITCH` - around the Y axis.   * `ROLL` - around the X axis.
 */
declare enum CargoRotationTypeStudio {
    ALL = "ALL",
    YAW = "YAW",
    PITCH = "PITCH",
    ROLL = "ROLL"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Compatibilities of [the cargo with the transport box and other cargos](#section/Description/Compatibilities).
 */
interface CargoCompatibilitiesStudio {
    [key: string]: any | any;
    /**
     * Width in meters, used to check the transport box capacity.
     */
    width?: number;
    /**
     * Height in meters, used to check the transport box capacity.
     */
    height?: number;
    /**
     * Length in meters, used to check the transport box capacity.
     */
    length?: number;
    /**
     * List of possibilities of a object rotations (90 degree step):   * `ALL` - can rotate by any axis   * `YAW` - can yaw   * `PITCH` - can pitch   * `ROLL` - can roll  Empty list means object rotations is prohibited. More about [cargo placement](#section/Description/Cargo-placement).
     */
    rotation?: Array<CargoRotationTypeStudio>;
    /**
     * A list of tags that define a property or requirement.
     */
    box_restrictions?: Array<string>;
    /**
     * A list of tags that define a property or requirement.
     */
    cargo_features?: Array<string>;
    /**
     * A list of tags that define a property or requirement.
     */
    cargo_restrictions?: Array<string>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Information about the `Honest Sign` marking.
 */
interface CargoInvoiceHonestSignStudio {
    [key: string]: any | any;
    /**
     * The label of the `Honest Sign` marking.
     */
    label?: string | null;
    /**
     * The product requires the `Honest Sign` marking.
     */
    marking_required?: boolean;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Value-added tax (VAT).
 */
declare enum CargoInvoiceTaxStudio {
    VAT_NA = "VAT_NA",
    VAT_00 = "VAT_00",
    VAT_05 = "VAT_05",
    VAT_07 = "VAT_07",
    VAT_10 = "VAT_10",
    VAT_20 = "VAT_20",
    VAT_22 = "VAT_22",
    VAT_05_105 = "VAT_05_105",
    VAT_07_107 = "VAT_07_107",
    VAT_10_110 = "VAT_10_110",
    VAT_20_120 = "VAT_20_120",
    VAT_22_122 = "VAT_22_122"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Invoice details for the product.
 */
interface CargoInvoiceDetailStudio {
    [key: string]: any | any;
    /**
     * Product name.
     */
    full_name: string;
    /**
     * Product unit name.
     */
    unit_name?: string | null;
    /**
     * Unit price.
     */
    unit_price: number;
    /**
     * Product amount.
     */
    unit_amount: number;
    /**
     * External product identifier.
     */
    external_id?: string | null;
    /**
     * Link to product description.
     */
    external_url?: string | null;
    tax: CargoInvoiceTaxStudio;
    honest_sign: CargoInvoiceHonestSignStudio;
    /**
     * Barcode or QR-code.
     */
    scan_code?: string | null;
    /**
     * Age restrictions apply (18+).
     */
    age_restriction?: boolean;
    /**
     * The item being paid. For example, Goods or Services.
     */
    payment_subject_type?: string | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Information for printing a receipt.
 */
interface CargoInvoiceReceiptStudio {
    [key: string]: any | any;
    /**
     * User e-mail address.
     */
    email?: string | null;
    /**
     * User phone.
     */
    phone?: string | null;
    /**
     * The document used for payment.
     */
    payment_document?: string | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Cargo invoice.
 */
interface CargoInvoiceStudio {
    [key: string]: any | any;
    /**
     * Flag indicating whether payment is required:   * `true` - payment required   * `false` - payment not required
     */
    payable: boolean;
    /**
     * Product data.
     */
    invoice_details: Array<CargoInvoiceDetailStudio>;
    receipt?: CargoInvoiceReceiptStudio;
    /**
     * Prepayment amount.
     */
    prepayment?: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Cargo. Regardless of capacity, cargo can only move inside the transport box.
 */
interface CargoStudio {
    [key: string]: any | any;
    /**
     * Cargo key, unique identifier.
     */
    key: string;
    capacity?: CapacityStudio | null;
    compatibilities?: CargoCompatibilitiesStudio | null;
    /**
     * The key of the transport box in which the cargo is already located. Applicable only for cargo that is in the order with the type `DROP_FROM_BOX`. For other order types, the key must be empty.
     */
    target_box_key?: string | null;
    invoice?: CargoInvoiceStudio | null;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Service availability result.
 */
interface CheckResultStudio {
    [key: string]: any | any;
    /**
     * The current health indicator of the service.   * `0.0` means the service is not ready to perform tasks.   * `1.0` means the service is fully ready to perform tasks.
     */
    health: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Penalty for violation of compatibility.
 */
interface CompatibilityPenaltyStudio {
    [key: string]: any | any;
    /**
     * Tag used to determine [compatibility](#section/Description/Compatibilities).
     */
    tag: string;
    /**
     * Penalty for violation of compatibility for the specified tag.
     */
    penalty: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Additional time for the execution of the application by a certain performer.
 */
interface DemandExtraDurationStudio {
    [key: string]: any | any;
    /**
     * The key of the ticket whose events need to increase the execution time.
     */
    demand_key: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    additional_duration: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Possible event.  Combines the geographical location and the time window, when a demand can be completed.
 */
interface PossibleEventStudio {
    [key: string]: any | any;
    /**
     * Event key, unique identifier.
     */
    key: string;
    /**
     * Location key, where this event is possible.
     */
    location_key: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    duration?: string;
    /**
     * Reward for completing this event.
     */
    reward?: number;
    /**
     * A hard time window within which an event must occur. The window duration cannot be less than the `duration` of the event. Cannot be violated during planning.
     */
    hard_time_window: TimeWindowStudio;
    soft_time_window?: TimeWindowStudio | null;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Demand types:   * `PICKUP` - loading   * `DROP` - unloading   * `WORK` - work at the location   * `PICKUP_TO_BOX` - loading to box   * `DROP_FROM_BOX` - unloading from box
 */
declare enum DemandTypeStudio {
    PICKUP = "PICKUP",
    DROP = "DROP",
    WORK = "WORK",
    PICKUP_TO_BOX = "PICKUP_TO_BOX",
    DROP_FROM_BOX = "DROP_FROM_BOX"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Request for a single action with a cargo (pickup / drop) or work at a location.
 */
interface DemandStudio {
    [key: string]: any | any;
    /**
     * Demand key, unique identifier.
     */
    key: string;
    demand_type: DemandTypeStudio;
    /**
     * The list of cargo keys depends on the type of order in which the cargoes are located:   * `PICKUP` - list of keys   * `DROP` - one key   * `WORK` - empty list   * `PICKUP_TO_BOX` - one key   * `DROP_FROM_BOX` - one key
     */
    target_cargos?: Array<string>;
    /**
     * Precedence within a trip, 0 - the precedence is not taken into account.
     */
    precedence_in_trip?: number;
    /**
     * Precedence within an order, 0 - the precedence is not taken into account.
     */
    precedence_in_order?: number;
    /**
     * List of possible time windows and location keys to fulfil an order.
     */
    possible_events: Array<PossibleEventStudio>;
    /**
     * Name, information field.
     */
    name?: string;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Entity type.
 */
declare enum EntityTypeStudio {
    TASK = "TASK",
    SETTINGS = "SETTINGS",
    ORDER = "ORDER",
    ORDER_LINK = "ORDER_LINK",
    PERFORMER = "PERFORMER",
    PERFORMER_LINK = "PERFORMER_LINK",
    TRANSPORT = "TRANSPORT",
    TRANSPORT_LINK = "TRANSPORT_LINK",
    HARDLINK = "HARDLINK",
    HARDLINK_LINK = "HARDLINK_LINK",
    LOCATION = "LOCATION",
    LOCATION_LINK = "LOCATION_LINK",
    BOX = "BOX",
    BOX_LINK = "BOX_LINK",
    TRIP = "TRIP",
    TRIP_LINK = "TRIP_LINK",
    CARGO = "CARGO",
    CARGO_LINK = "CARGO_LINK",
    DEMAND = "DEMAND",
    DEMAND_LINK = "DEMAND_LINK",
    EVENT = "EVENT",
    EVENT_LINK = "EVENT_LINK",
    PERFORMER_SHIFT = "PERFORMER_SHIFT",
    PERFORMER_SHIFT_LINK = "PERFORMER_SHIFT_LINK",
    TRANSPORT_SHIFT = "TRANSPORT_SHIFT",
    TRANSPORT_SHIFT_LINK = "TRANSPORT_SHIFT_LINK",
    FACT = "FACT",
    FACT_LINK = "FACT_LINK"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * The description of the entity and the path to it.
 */
interface EntityPathStudio {
    [key: string]: any | any;
    /**
     * Target entity key.
     */
    entity_key: string | null;
    entity_type: EntityTypeStudio;
    child_entity?: EntityPathStudio | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Error type:   * `INCONSISTENT_REFERENCE` - bad reference key    * `UNIQUE_IDS_VIOLATION` - all keys must be unique   * `INVALID_ROUTING_MATRIX` - bad routing matrix dimension   * `INVALID_GEO_PROVIDER` - bad geo provider   * `INVALID_TIME_WINDOW` - bad time window   * `COMPATIBILITY_CARGO_BOX` - no cargo is compatible with any box   * `COMPATIBILITY_TRANSPORT_PERFORMER` - no transport is compatible with any performer   * `COMPATIBILITY_TRANSPORT_LOCATION` - no transport is compatible with any location   * `COMPATIBILITY_ORDER_PERFORMER` - no order is compatible with any performer   * `INCONSISTENT_HARDLINK` - essence key must be only in one hardlink   * `PLANNING_HORIZON_EXCEEDED` -  planning horizon exceeded (difference between earliest and latest timestamp in dataset)   * `MEANINGLESS_RESTRICTIONS` - the specified restrictions do not make sense   * `LOCATION_LIMITS_VIOLATION` - the time windows of the constraint\'s validity must not overlap and their union must correspond to the location availability window `work_window`; if the `min_cargos`/`min_transports` constraint is specified, then the `max_cargos`/`max_transports` constraint must be specified; the `min_cargos`/`min_transports` constraints must be less than all the `max_cargos`/`max_transports` constraints; the `LOWEST_COST` time selection strategy is specified (currently not supported)   * `PERFORMER_WRR_MUST_BE_SET` - at least one of the fields `rest_rules` or `break_rules` must be set for the work and rest schedule.   * `PERFORMER_WRR_INVALID_REST_COUNT` - the number of rests cannot exceed 14   * `PERFORMER_WRR_INVALID_BREAK_COUNT` - no more than 14 breaks can start between rests   * `PERFORMER_WRR_MEANINGLESS_REST` - the specified rest cannot be inserted   * `PERFORMER_WRR_MEANINGLESS_BREAK` - the specified break cannot be inserted   * `TOO_MANY_WARNINGS` - the number of warnings is greater than 15001   * `UNCLASSIFIED_ERROR` - unclassified error
 */
declare enum EntityErrorTypeStudio {
    INCONSISTENT_REFERENCE = "INCONSISTENT_REFERENCE",
    UNIQUE_IDS_VIOLATION = "UNIQUE_IDS_VIOLATION",
    INVALID_ROUTING_MATRIX = "INVALID_ROUTING_MATRIX",
    INVALID_GEO_PROVIDER = "INVALID_GEO_PROVIDER",
    INVALID_TIME_WINDOW = "INVALID_TIME_WINDOW",
    COMPATIBILITY_CARGO_BOX = "COMPATIBILITY_CARGO_BOX",
    COMPATIBILITY_TRANSPORT_PERFORMER = "COMPATIBILITY_TRANSPORT_PERFORMER",
    COMPATIBILITY_TRANSPORT_LOCATION = "COMPATIBILITY_TRANSPORT_LOCATION",
    COMPATIBILITY_ORDER_PERFORMER = "COMPATIBILITY_ORDER_PERFORMER",
    INCONSISTENT_HARDLINK = "INCONSISTENT_HARDLINK",
    PLANNING_HORIZON_EXCEEDED = "PLANNING_HORIZON_EXCEEDED",
    MEANINGLESS_RESTRICTIONS = "MEANINGLESS_RESTRICTIONS",
    LOCATION_LIMITS_VIOLATION = "LOCATION_LIMITS_VIOLATION",
    PERFORMER_WRR_MUST_BE_SET = "PERFORMER_WRR_MUST_BE_SET",
    PERFORMER_WRR_INVALID_REST_COUNT = "PERFORMER_WRR_INVALID_REST_COUNT",
    PERFORMER_WRR_INVALID_BREAK_COUNT = "PERFORMER_WRR_INVALID_BREAK_COUNT",
    PERFORMER_WRR_MEANINGLESS_REST = "PERFORMER_WRR_MEANINGLESS_REST",
    PERFORMER_WRR_MEANINGLESS_BREAK = "PERFORMER_WRR_MEANINGLESS_BREAK",
    TOO_MANY_WARNINGS = "TOO_MANY_WARNINGS",
    UNCLASSIFIED_ERROR = "UNCLASSIFIED_ERROR"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Description of the error in the input data.
 */
interface EntityErrorStudio {
    [key: string]: any | any;
    type: EntityErrorTypeStudio;
    /**
     * Information about error.
     */
    info?: string | null;
    /**
     * List of entities related to error.
     */
    entities: Array<EntityPathStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Warning type:   * `NO_AVAILABLE_TRANSPORT` - the order cannot be fulfilled, since there is no available (by shift limitations) transport   * `NO_AVAILABLE_PERFORMER` - the order cannot be fulfilled, since there is not a single available (by shift limitations) performer   * `NO_COMPATIBLE_TRANSPORT` - the order cannot be completed, since there is not a single compatible (in terms of capacity and \\ or compatibility tags) transport   * `NO_COMPATIBLE_PERFORMER` - the order cannot be completed, since there is not a single compatible (by compatibility tags) performer   * `NO_AVAILABLE_ORDER_FOR_TRANSPORT` - the transport is useless, since there are no compatible (by capacity and/or compatibility tags) orders   * `NO_AVAILABLE_ORDER_FOR_PERFORMER` - the performer is useless, since there are no compatible (by capacity and/or compatibility tags) orders   * `NO_COMPATIBLE_ORDER_FOR_TRANSPORT` - the transport is useless, since there are no available (by shift restrictions) orders   * `NO_COMPATIBLE_ORDER_FOR_PERFORMER` - the performer is useless, since there are no available (by shift restrictions) orders   * `PICKUP_AND_DROP_VIOLATION` - for each cargo within the order there must be exactly one loading and exactly one unloading (except for `PICKUP_TO_BOX` and `DROP_FROM_BOX` orders)   * `PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_ORDER` - for each cargo within the order, loading must go before unloading (`precedence_in_order`)   * `PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_TRIP` - conflicting requirements for the precedence of orders were specified (`precedence_in_trip`)   * `VIOLATION_PRECEDENCE_IN_TRIP_AND_ORDER` - requirements for the precedence of orders in the trip (`precedence_in_trip`) and in the order (` precedence_in_order`) contradict each other   * `TIME_WINDOW_VIOLATION` - the start time of the time window is later than the end time of the window or time window exceeds the maximum allowed   * `DURATION_VIOLATION` - duration does not correspond to the allowed interval   * `ORDER_WINDOWS_INTERSECTION_VIOLATION` - soft windows should not go beyond the boundaries of the hard window   * `PERFORMER_SHIFTS_INTERSECTION_VIOLATION` - time ranges of the performer\'s work shifts must not overlap, the beginning of the next window cannot be equal to the end of the previous one   * `TRANSPORT_SHIFTS_INTERSECTION_VIOLATION` - time ranges of transport work shifts should not overlap, the beginning of the next window cannot be equal to the end of the previous one   * `LOCATION_WINDOWS_INTERSECTION_VIOLATION` - time ranges of working windows of one location should not intersect, the beginning of the next window cannot be equal to the end of the previous one   * `NO_TRANSPORT_BOXES` - if there are orders with cargo, then the transport must have at least one box   * `MAX_CAPACITY_VIOLATION` - `max_capacity` limit exceeds the total capacity of all boxes or set for only one box or less than the capacity of some box   * `MAX_BOXES_VIOLATION` - limit `max_boxes` is greater than or equal to the total number of boxes or specified for one box or equal to zero   * `TOO_MANY_CARGOS_FOR_DROP_VIOLATION` - the number of loads for an order of the` DROP` / `DROP_FROM_BOX` type must be no more than one   * `EMPTY_CARGOES_LIST` - empty list of loads for orders of type `DROP` / `DROP_FROM_BOX` / `PICKUP` / `PICKUP_TO_BOX`   * `CARGO_WORK_VIOLATION` - for a `WORK` order, the cargo list must be empty   * `GEODATA_TIME_WINDOW_VIOLATION` - the planning horizon exceeds the maximum available value   * `SHIFT_RESTRICTIONS_COULD_BE_MORE_PRECISE` - the `working_window` of the performer\'s shift does not lie entirely inside the availability window `availability_window`   * `DURATION_DOES_NOT_FIT_INTO_HARD_WINDOW` - the duration of the event does not fit into the hard time window   * `DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW` - the duration of the event does not fit into the soft time window   * `EXTRA_DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW` - additional time for demand execution does not fit into the soft time window   * `MAX_CALCULATION_TIME_VIOLATION` - the maximum allowable calculation time has been exceeded   * `MAX_WAITING_TIME_VIOLATION` - the maximum allowable waiting time in queue has been exceeded   * `INVALID_HARDLINK` - it is impossible to assign an order with demands with the `WORK` type to transport   * `CARGO_BOX_VIOLATION` - for requests of all types except `DROP_FROM_BOX` the key of the box where the cargo is located must be empty   * `CARGO_MULTIBOX_VIOLATION` - for a demand of type `DROP_FROM_BOX` the indicated cargos are in boxes of different transports   * `CARGO_CAPACITY_VIOLATION` - the specified cargo on board exceeds the size of the box in which it is located   * `CARGO_ORDER_VIOLATION` - the cargo specified in the order is not present in orders   * `FEATURE_LIFETIME_VIOLATION` - feature time windows intersect with each other, or the `working_window` of the performer\'s or transport\'s shift does not intersect with the feature time window   * `QUOTA_EXCEEDED` - service quota exceeded   * `MAX_LOCATIONS_LIMITS_PENALTY_EXCEEDED` - the resulting solution does not satisfy the `max_locations_limits_penalty` requirement   * `REMOVED_ITEMS_NOT_EMPTY` - during data validation, items were removed from the original dataset, the list of removed items is in the `removed_items` object   * `INCOMPATIBLE_REQUIREMENTS` - incompatible requirements are specified: location load accounting and soft window optimization.   * `UNCLASSIFIED_WARNING` - unclassified warning
 */
declare enum EntityWarningTypeStudio {
    NO_AVAILABLE_TRANSPORT = "NO_AVAILABLE_TRANSPORT",
    NO_AVAILABLE_PERFORMER = "NO_AVAILABLE_PERFORMER",
    NO_COMPATIBLE_TRANSPORT = "NO_COMPATIBLE_TRANSPORT",
    NO_COMPATIBLE_PERFORMER = "NO_COMPATIBLE_PERFORMER",
    NO_AVAILABLE_ORDER_FOR_TRANSPORT = "NO_AVAILABLE_ORDER_FOR_TRANSPORT",
    NO_AVAILABLE_ORDER_FOR_PERFORMER = "NO_AVAILABLE_ORDER_FOR_PERFORMER",
    NO_COMPATIBLE_ORDER_FOR_TRANSPORT = "NO_COMPATIBLE_ORDER_FOR_TRANSPORT",
    NO_COMPATIBLE_ORDER_FOR_PERFORMER = "NO_COMPATIBLE_ORDER_FOR_PERFORMER",
    PICKUP_AND_DROP_VIOLATION = "PICKUP_AND_DROP_VIOLATION",
    PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_ORDER = "PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_ORDER",
    PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_TRIP = "PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_TRIP",
    VIOLATION_PRECEDENCE_IN_TRIP_AND_ORDER = "VIOLATION_PRECEDENCE_IN_TRIP_AND_ORDER",
    TIME_WINDOW_VIOLATION = "TIME_WINDOW_VIOLATION",
    DURATION_VIOLATION = "DURATION_VIOLATION",
    ORDER_WINDOWS_INTERSECTION_VIOLATION = "ORDER_WINDOWS_INTERSECTION_VIOLATION",
    PERFORMER_SHIFTS_INTERSECTION_VIOLATION = "PERFORMER_SHIFTS_INTERSECTION_VIOLATION",
    TRANSPORT_SHIFTS_INTERSECTION_VIOLATION = "TRANSPORT_SHIFTS_INTERSECTION_VIOLATION",
    LOCATION_WINDOWS_INTERSECTION_VIOLATION = "LOCATION_WINDOWS_INTERSECTION_VIOLATION",
    NO_TRANSPORT_BOXES = "NO_TRANSPORT_BOXES",
    MAX_CAPACITY_VIOLATION = "MAX_CAPACITY_VIOLATION",
    MAX_BOXES_VIOLATION = "MAX_BOXES_VIOLATION",
    TOO_MANY_CARGOS_FOR_DROP_VIOLATION = "TOO_MANY_CARGOS_FOR_DROP_VIOLATION",
    EMPTY_CARGOES_LIST = "EMPTY_CARGOES_LIST",
    CARGO_WORK_VIOLATION = "CARGO_WORK_VIOLATION",
    GEODATA_TIME_WINDOW_VIOLATION = "GEODATA_TIME_WINDOW_VIOLATION",
    SHIFT_RESTRICTIONS_COULD_BE_MORE_PRECISE = "SHIFT_RESTRICTIONS_COULD_BE_MORE_PRECISE",
    DURATION_DOES_NOT_FIT_INTO_HARD_WINDOW = "DURATION_DOES_NOT_FIT_INTO_HARD_WINDOW",
    DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW = "DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW",
    EXTRA_DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW = "EXTRA_DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW",
    MAX_CALCULATION_TIME_VIOLATION = "MAX_CALCULATION_TIME_VIOLATION",
    MAX_WAITING_TIME_VIOLATION = "MAX_WAITING_TIME_VIOLATION",
    INVALID_HARDLINK = "INVALID_HARDLINK",
    CARGO_BOX_VIOLATION = "CARGO_BOX_VIOLATION",
    CARGO_MULTIBOX_VIOLATION = "CARGO_MULTIBOX_VIOLATION",
    CARGO_CAPACITY_VIOLATION = "CARGO_CAPACITY_VIOLATION",
    CARGO_ORDER_VIOLATION = "CARGO_ORDER_VIOLATION",
    FEATURE_LIFETIME_VIOLATION = "FEATURE_LIFETIME_VIOLATION",
    QUOTA_EXCEEDED = "QUOTA_EXCEEDED",
    MAX_LOCATIONS_LIMITS_PENALTY_EXCEEDED = "MAX_LOCATIONS_LIMITS_PENALTY_EXCEEDED",
    REMOVED_ITEMS_NOT_EMPTY = "REMOVED_ITEMS_NOT_EMPTY",
    INCOMPATIBLE_REQUIREMENTS = "INCOMPATIBLE_REQUIREMENTS",
    UNCLASSIFIED_WARNING = "UNCLASSIFIED_WARNING"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Description of the warning of the input data.
 */
interface EntityWarningStudio {
    [key: string]: any | any;
    type: EntityWarningTypeStudio;
    /**
     * Information about warning.
     */
    info?: string | null;
    /**
     * List of entities related to warning.
     */
    entities: Array<EntityPathStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Result of checking the dataset.
 */
interface ExperimentCheckStudio {
    [key: string]: any | any;
    /**
     * List with fatal errors.
     */
    logical_errors?: Array<EntityErrorStudio>;
    /**
     * Warning list.
     */
    warnings?: Array<EntityWarningStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Settings for using external extensions to adjust calculations.
 */
interface ExtensionSettingsStudio {
    [key: string]: any | any;
    /**
     * Use a third-party calculation adjuster.
     */
    enable_extension?: boolean;
    /**
     * The address of an external service implementing the Universal Extension API.
     */
    extension_url?: string | null;
    /**
     * The maximum time to wait for a response from the external service implementing the Universal Extension API (for each request).
     */
    request_timeout?: string;
    /**
     * The number of attempts to request an external service implementing the Universal Extension API.
     */
    retry_attempts?: number;
    /**
     * The time between request attempts to an external service implementing the Universal Extension API.
     */
    retry_interval?: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Geodata usage settings.
 */
interface GeoSettingsStudio {
    [key: string]: any | any;
    /**
     * Geodata provider:   * `VRT` - geo-data and traffic jams from Veeroute, work all over the world.  A specific provider may be specified for a specific region, availability depending on customer settings.
     */
    geo_provider?: string;
    /**
     * Use toll roads.
     */
    toll_roads?: boolean;
    /**
     * Use ferry crossing.
     */
    ferry_crossing?: boolean;
    /**
     * Accounting for traffic during the route planning.
     */
    traffic_jams?: boolean;
    /**
     * Use for calculating straight line distances. If `false` is specified, distances are calculated by roads. When this parameter is enabled, geo-provider not used and traffic (`traffic_jams`) is automatically disabled.
     */
    flight_distance?: boolean;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * The strategy of the choosing optimal trip start time:   * `EARLIEST_FINISH`   * `LOWEST_COST`
 */
declare enum TripStartTimeStrategyStudio {
    EARLIEST_FINISH = "EARLIEST_FINISH",
    LOWEST_COST = "LOWEST_COST"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Expectations from the calculation result. Affect the trip-building logic.
 */
interface TripExpectationsStudio {
    [key: string]: any | any;
    trip_start_time_strategy?: TripStartTimeStrategyStudio;
    /**
     * Problem kind.
     */
    problem_kind?: string | null;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Planning penalties - ability to disrupt a part of the planning business rules.
 */
interface TripPenaltiesStudio {
    [key: string]: any | any;
    /**
     * Penalties for violation of compatibility. When taking into account transport-location compatibility violations, the penalty is applied for each stop  and cannot exceed the `max_penalty_cost` of the performer assigned to the trip. Only the absence of a property is penalized; the time windows of the life of a property cannot be violated for a fine.
     */
    compatibilities?: Array<CompatibilityPenaltyStudio>;
    /**
     * The maximum allowable amount of fines for violating location\'s capacity limit.
     */
    max_locations_limits_penalty?: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Transport types:   * `CAR` - car   * `TRUCK_1500` - truck with permissible weight 1500 kg   * `TRUCK_3000` - truck with permissible weight 3000 kg   * `TRUCK_5000` - truck with permissible weight 5000 kg   * `TRUCK_10000` - truck with permissible weight 10000 kg   * `TRUCK_20000` - truck with permissible weight 20000 kg   * `TRUCK_10000_L75_H35_W24_6000` - a truck with a permitted weight of no more than 10,000 kg, dimensions of 7.5 x 3.5 x 2.4 meters, and a permissible axle load of 6,000 kg   * `TRUCK_18000_L95_H40_W26_11000` - a truck with a permitted weight of no more than 18,000 kg, dimensions of 9.5 x 4.0 x 2.6 meters, and a permissible axle load of 11,000 kg   * `TRUCK_26000_L120_H40_W26_8000` - a truck with a permitted weight of no more than 26,000 kg, dimensions of 12.0 x 4.0 x 2.6 meters, and a permissible axle load of 8000 kg   * `TRUCK_GARBAGE_1` - truck for transporting garbage (type 1)   * `TRUCK_GARBAGE_2` - truck for transporting garbage (type 2)   * `TUK_TUK` - tuk-tuk   * `BICYCLE` - bicycle   * `PEDESTRIAN` - pedestrian         * `PUBLIC_TRANSPORT` - public transport   * `TELEPORT` - teleport (instant movement between points)      Permissible weight is the weight of the equipped transport with cargo and driver, set by the manufacturer as the maximum allowable.
 */
declare enum TransportTypeStudio {
    CAR = "CAR",
    TRUCK_1500 = "TRUCK_1500",
    TRUCK_3000 = "TRUCK_3000",
    TRUCK_5000 = "TRUCK_5000",
    TRUCK_10000 = "TRUCK_10000",
    TRUCK_20000 = "TRUCK_20000",
    TRUCK_10000_L75_H35_W24_6000 = "TRUCK_10000_L75_H35_W24_6000",
    TRUCK_18000_L95_H40_W26_11000 = "TRUCK_18000_L95_H40_W26_11000",
    TRUCK_26000_L120_H40_W26_8000 = "TRUCK_26000_L120_H40_W26_8000",
    TRUCK_GARBAGE_1 = "TRUCK_GARBAGE_1",
    TRUCK_GARBAGE_2 = "TRUCK_GARBAGE_2",
    TUK_TUK = "TUK_TUK",
    BICYCLE = "BICYCLE",
    PEDESTRIAN = "PEDESTRIAN",
    PUBLIC_TRANSPORT = "PUBLIC_TRANSPORT",
    TELEPORT = "TELEPORT"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Speed change coefficient for the specified transport type.
 */
interface TransportSpeedMultiplierStudio {
    [key: string]: any | any;
    transport_type: TransportTypeStudio;
    /**
     * Average transport speed multiplier.
     */
    speed: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Capacity change rate for the specified transport type.
 */
interface TransportCapacityMultiplierStudio {
    [key: string]: any | any;
    transport_type: TransportTypeStudio;
    capacity: CapacityMultiplierStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Planning assumptions. Designed to adjust the logic of planning via mass change of input data.
 */
interface TripAssumptionsStudio {
    [key: string]: any | any;
    /**
     * Transport speed change coefficients.
     */
    transport_speed_multipliers?: Array<TransportSpeedMultiplierStudio>;
    /**
     * Transport capacity change coefficients. Change the `capacity` parameters for all boxes and `max_capacity` for the transport.
     */
    transport_capacity_multipliers?: Array<TransportCapacityMultiplierStudio>;
    /**
     * Disable the accounting for capacity. If `true` is specified, all becomes compatible with everything.
     */
    disable_compatibility?: boolean;
    /**
     * Disable the accounting for capacity. If `true` is specified, all transports can accommodate an unlimited cargo amount.
     */
    disable_capacity?: boolean;
    /**
     * Disable location bandwidth accounting. If `true` is specified, `location.timetable.limits` and `trips_settings.penalties.max_locations_limits_penalty` parameters are not taken into account.
     */
    disable_location_limits?: boolean;
    /**
     * Use for calculation the same (specified) time window for orders and demands. The time window is specified from the beginning of the earliest window to the end of the latest window from all orders and demands.
     */
    same_order_time_window?: boolean;
    /**
     * Expand the time window for performer and transport shifts.  The left border of the first shift extends to the left border of the specified window, right border extends to the right border or to the beginning of the next window for this entity. Each next shift moves the right border to the next shift or to the right border of the specified window.
     */
    expand_shift_time_window?: boolean;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Trip creation settings.
 */
interface TripsSettingsStudio {
    [key: string]: any | any;
    /**
     * Name of the planning configuration. The configuration determines the result goal and quality. [List of available](#section/Description/Planning-configuration) planning configurations.
     */
    configuration?: string;
    expectations?: TripExpectationsStudio;
    assumptions?: TripAssumptionsStudio;
    penalties?: TripPenaltiesStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Planning settings.
 */
interface PlanSettingsStudio {
    [key: string]: any | any;
    trips_settings?: TripsSettingsStudio;
    geo_settings?: GeoSettingsStudio;
    calculation_settings?: CalculationSettingsStudio;
    extension_settings?: ExtensionSettingsStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Replan strategy.
 */
interface ReplanStrategyStudio {
    [key: string]: any | any;
    /**
     * Activate trip actions reorder.
     */
    reorder?: boolean;
    /**
     * Ability to plan new orders into existing or new trips (if the `create_new_trips` option is enabled).
     */
    plan_new_orders?: boolean;
    /**
     * Activate new trips creation.
     */
    create_new_trips?: boolean;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Replanning settings.
 */
interface ReplanSettingsStudio {
    [key: string]: any | any;
    replan_strategy?: ReplanStrategyStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Experiment settings.
 */
interface ExperimentSettingsStudio {
    [key: string]: any | any;
    plan_settings: PlanSettingsStudio;
    replan_settings: ReplanSettingsStudio;
    actualize_settings: ActualizeSettingsStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * General statistics on input data.
 */
interface TaskStatisticsStudio {
    [key: string]: any | any;
    /**
     * Planning horizon is a time window where:   * `from` - the left border of the time windows of all entities from the input data   * `to` - the right border of the time windows of all entities from the input data
     */
    planning_horizon: TimeWindowStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Information about removed essences.
 */
interface RemovedItemsStudio {
    [key: string]: any | any;
    /**
     * Essences keys list.
     */
    location_keys?: Array<string>;
    /**
     * Essences count.
     */
    location_keys_count?: number;
    /**
     * Essences keys list.
     */
    order_keys?: Array<string>;
    /**
     * Essences count.
     */
    order_keys_count?: number;
    /**
     * Essences keys list.
     */
    performer_keys?: Array<string>;
    /**
     * Essences count.
     */
    performer_keys_count?: number;
    /**
     * Essences keys list.
     */
    transport_keys?: Array<string>;
    /**
     * Essences count.
     */
    transport_keys_count?: number;
    /**
     * Essences keys list.
     */
    hardlink_keys?: Array<string>;
    /**
     * Essences count.
     */
    hardlink_keys_count?: number;
    /**
     * Essences keys list.
     */
    fact_keys?: Array<string>;
    /**
     * Essences count.
     */
    fact_keys_count?: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Time window violation detail information.
 */
interface TimeWindowViolationDetailStudio {
    [key: string]: any | any;
    /**
     * List of object\'s keys.
     */
    demand_keys: Array<string>;
    /**
     * The total number of demands.
     */
    count: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Statistics of time window violation.
 */
interface TimeWindowViolationsStudio {
    [key: string]: any | any;
    /**
     * Count and order\'s keys, what planned before permitted time window.
     */
    before: TimeWindowViolationDetailStudio;
    /**
     * Count and order\'s keys, what planned after permitted time window.
     */
    after: TimeWindowViolationDetailStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Quality metrics.
 */
interface QualityStudio {
    [key: string]: any | any;
    /**
     * Amount of fines for violating location\'s capacity limit.
     */
    locations_limits_penalty: number;
    /**
     * Statistics of soft time window violations.
     */
    soft_time_window_violations: TimeWindowViolationsStudio;
    /**
     * Statistics of hard time window violations.
     */
    hard_time_window_violations: TimeWindowViolationsStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Data statistics.
 */
interface TableDataStatsStudio {
    [key: string]: any | any;
    /**
     * Locations count.
     */
    locations: number;
    /**
     * Orders count.
     */
    orders: number;
    /**
     * Performers count.
     */
    performers: number;
    /**
     * Transports count.
     */
    transports: number;
    /**
     * Hardlinks count.
     */
    hardlinks: number;
    /**
     * Trips count.
     */
    trips: number;
    /**
     * Facts count.
     */
    facts: number;
    /**
     * Using external routing.
     */
    external_routing: boolean;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Information about unplanned essences.
 */
interface UnplannedItemsStudio {
    [key: string]: any | any;
    /**
     * Essences keys list.
     */
    order_keys?: Array<string>;
    /**
     * Essences count.
     */
    order_keys_count?: number;
    /**
     * Essences keys list.
     */
    performer_keys?: Array<string>;
    /**
     * Essences count.
     */
    performer_keys_count?: number;
    /**
     * Essences keys list.
     */
    transport_keys?: Array<string>;
    /**
     * Essences count.
     */
    transport_keys_count?: number;
    /**
     * Essences keys list.
     */
    hardlink_keys?: Array<string>;
    /**
     * Essences count.
     */
    hardlink_keys_count?: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Experiment statistics.
 */
interface ExperimentStatisticsStudio {
    [key: string]: any | any;
    /**
     * A list of indicators.
     */
    indicators: Array<string>;
    total_statistics: GeneralStatisticsStudio;
    task_statistics: TaskStatisticsStudio;
    quality: QualityStudio;
    data_statistics: TableDataStatsStudio;
    unplanned_items?: UnplannedItemsStudio;
    removed_items?: RemovedItemsStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * File specification.
 */
interface FileSpecificationStudio {
    [key: string]: any | any;
    /**
     * File name.
     */
    name: string;
    /**
     * File comment.
     */
    comment: string | null;
    /**
     * Key, unique identifier.
     */
    folder_key: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Experiment.
 */
interface ExperimentStudio {
    [key: string]: any | any;
    /**
     * Key, unique identifier.
     */
    key: string;
    specification: FileSpecificationStudio;
    settings: ExperimentSettingsStudio;
    statistics: ExperimentStatisticsStudio;
    /**
     * Calculation progress as a percentage. The progress displays the current number of completed steps.
     */
    progress?: number;
    calculation?: CalculationStateStudio | null;
    check?: ExperimentCheckStudio | null;
    /**
     * A flag indicating whether changes to the entity have been made relative to the original data. `true` - means that the data is original and has not been changed.
     */
    readonly pristine: boolean;
    /**
     * File sharing flag.
     */
    readonly sharing?: boolean;
    /**
     * Last file edit date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format.
     */
    edit_date: string;
    /**
     * File creation date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format.
     */
    creation_date: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Detail counters by list.
 */
interface TableListCountersDetailStudio {
    [key: string]: any | any;
    /**
     * Count.
     */
    total: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Counters by list.
 */
interface TableListCountersStudio {
    [key: string]: any | any;
    /**
     * General statistics, does not depend on the filter.
     */
    overall: TableListCountersDetailStudio;
    /**
     * Filtered statistics.
     */
    filter: TableListCountersDetailStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * A list of experiments.
 */
interface ExperimentListStudio {
    [key: string]: any | any;
    /**
     * A list of experiments.
     */
    experiments: Array<ExperimentStudio>;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Experiment.
 */
interface ExperimentNeighborsStudio {
    [key: string]: any | any;
    /**
     * The key of the previous experiment is in the same folder.
     */
    previous_experiment_key?: string | null;
    /**
     * The key of the next experiment is in the same folder.
     */
    next_experiment_key?: string | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * A geographic point with a time reference.
 */
interface TrackpointStudio {
    [key: string]: any | any;
    /**
     * Latitude in degrees.
     */
    latitude: number;
    /**
     * Longitude in degrees.
     */
    longitude: number;
    /**
     * Date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format.
     */
    time?: string | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Additional data describing the fact.
 */
interface LoreNewLocationStudio {
    [key: string]: any | any;
    /**
     * Performer key.
     */
    performer_key: string;
    /**
     * An array of geographic points with time reference between which a path is built.
     */
    geotrack: Array<TrackpointStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * New precedence of demand in the trip.
 */
interface TripDemandPrecedenceStudio {
    [key: string]: any | any;
    /**
     * Order key.
     */
    order_key: string;
    /**
     * Demand key.
     */
    demand_key: string;
    /**
     * New precedence of demand in the trip.
     */
    new_precedence_in_trip: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Additional data describing the fact.
 */
interface LoreTripPrecedenceChangedStudio {
    [key: string]: any | any;
    /**
     * New precedence of demands in the trip.
     */
    demands_precedence: Array<TripDemandPrecedenceStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Additional data describing the fact.
 */
interface LoreDemandStartStudio {
    [key: string]: any | any;
    /**
     * Order key.
     */
    order_key: string;
    /**
     * Demand key.
     */
    demand_key: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Additional data describing the fact.
 */
interface LoreDemandCancelledStudio {
    [key: string]: any | any;
    /**
     * Order key.
     */
    order_key: string;
    /**
     * Demand key.
     */
    demand_key: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Additional data describing the fact.
 */
interface LoreJobDoneStudio {
    [key: string]: any | any;
    /**
     * Essence key, unique identifier.
     */
    job_key: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Additional data describing the fact.
 */
interface LoreOrderDoneStudio {
    [key: string]: any | any;
    /**
     * Order key.
     */
    order_key: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Additional data describing the fact.
 */
interface LoreDemandDoneStudio {
    [key: string]: any | any;
    /**
     * Order key.
     */
    order_key: string;
    /**
     * Demand key.
     */
    demand_key: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Additional data describing the fact.
 */
interface FactLoreStudio {
    [key: string]: any | any;
    new_location?: LoreNewLocationStudio | null;
    order_done?: LoreOrderDoneStudio | null;
    demand_start?: LoreDemandStartStudio | null;
    demand_done?: LoreDemandDoneStudio | null;
    demand_cancelled?: LoreDemandCancelledStudio | null;
    demand_precedence?: LoreTripPrecedenceChangedStudio | null;
    job_done?: LoreJobDoneStudio | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Current fact status:   * `NEW` - the fact has been created and is awaiting system processing   * `APPLIED` - the fact has been processed by the system and applied to the data   * `ERROR` - an error occurred while processing the fact; the sender must correct the fact and resubmit
 */
declare enum FactStatusStudio {
    NEW = "NEW",
    APPLIED = "APPLIED",
    ERROR = "ERROR"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Possible fact types:   * `NEW_LOCATION` - the performer changed his location during the trip   * `ORDER_DONE` - the performer has finished fulfilling the order (or the order has been cancelled), the cargo associated with the order is no longer in the transport box   * `DEMAND_START` - performer started to fulfill the demand   * `DEMAND_DONE` - performer finished to fulfill the demand   * `DEMAND_CANCELED` - the performer canceled the demand   * `TRIP_PRECEDENCE_CHANGED` - the performer changed the precedence of the demands in the trip   * `TRIP_RECEIVED` - the performer has received the trip   * `TRIP_CONFIRMED` - the performer has agreed to perform the trip   * `TRIP_REJECTED` - the performer has refused to perform the trip   * `TRIP_EXECUTING` - the performer has started performing the trip   * `JOB_DONE` - the performer has finished custom job
 */
declare enum FactTypeStudio {
    NEW_LOCATION = "NEW_LOCATION",
    ORDER_DONE = "ORDER_DONE",
    DEMAND_START = "DEMAND_START",
    DEMAND_DONE = "DEMAND_DONE",
    DEMAND_CANCELED = "DEMAND_CANCELED",
    TRIP_PRECEDENCE_CHANGED = "TRIP_PRECEDENCE_CHANGED",
    TRIP_RECEIVED = "TRIP_RECEIVED",
    TRIP_CONFIRMED = "TRIP_CONFIRMED",
    TRIP_REJECTED = "TRIP_REJECTED",
    TRIP_EXECUTING = "TRIP_EXECUTING",
    JOB_DONE = "JOB_DONE"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Fact is an action completed during the execution of a trip.
 */
interface FactStudio {
    [key: string]: any | any;
    /**
     * Fact key.
     */
    key: string;
    type: FactTypeStudio;
    /**
     * Fact creation date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format.
     */
    creation_date: string;
    /**
     * Date and time of receipt of the fact by the server in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format.
     */
    reception_date?: string | null;
    /**
     * Date and time of execution the fact by the server in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format.
     */
    execution_date?: string | null;
    status: FactStatusStudio;
    /**
     * Additional information about the fact status, used to clarify fact processing errors.
     */
    status_detail?: string | null;
    /**
     * The trip key to which the fact applies.
     */
    trip_key: string;
    lore?: FactLoreStudio | null;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Tag life time window.
 */
interface FeatureLifetimeStudio {
    [key: string]: any | any;
    /**
     * Tag used to determine [compatibility](#section/Description/Compatibilities).
     */
    feature: string;
    /**
     * A list of time windows within which the specified tag exists. If compatibility is affected by several features with different windows - entities will be considered compatible within the intersection of windows. There cannot be more than 4 intersections of the specified windows for all tags for one performer.
     */
    time_windows: Array<TimeWindowStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * The path from the root of the virtual file system to the file in the form of folder and file names.
 */
interface FileNamePathStudio {
    [key: string]: any | any;
    /**
     * List of folder names from the root of the virtual filesystem.
     */
    folder_names: Array<string>;
    /**
     * File name.
     */
    file_name: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * The name of the column in the table with folders.
 */
declare enum FilesystemColumnTypeStudio {
    NAME = "NAME",
    OWNER_COMPANY_KEY = "OWNER_COMPANY_KEY",
    OWNER_USERNAME = "OWNER_USERNAME",
    CREATION_DATE = "CREATION_DATE",
    EXPIRATION_DATE = "EXPIRATION_DATE",
    FOLDERS_COUNT = "FOLDERS_COUNT",
    FILES_COUNT = "FILES_COUNT"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Current folder counters.
 */
interface FolderCountersStudio {
    [key: string]: any | any;
    /**
     * The number of subfolders.
     */
    folders_count: number;
    /**
     * The number of files.
     */
    files_count: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Counters across the entire virtual file system.
 */
interface FilesystemCountersStudio {
    [key: string]: any | any;
    /**
     * Current number of available folders/files.
     */
    current: FolderCountersStudio;
    /**
     * Max number of available folders/files.
     */
    max: FolderCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Element type:   * `ROOT` - root object   * `FOLDER` - folder
 */
declare enum FolderTypeStudio {
    ROOT = "ROOT",
    FOLDER = "FOLDER"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Folder is an element of a virtual file system.
 */
interface FolderStudio {
    [key: string]: any | any;
    /**
     * Key, unique identifier.
     */
    key: string;
    type: FolderTypeStudio;
    /**
     * Parent folder key, `null` if the folder is root.
     */
    parent_key?: string | null;
    /**
     * Folder name.
     */
    name: string;
    /**
     * Folder comment.
     */
    comment?: string | null;
    /**
     * Folder color.
     */
    color?: string | null;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
    /**
     * Unique company key.
     */
    owner_company_key?: string | null;
    /**
     * Unique username for login.
     */
    owner_username?: string | null;
    /**
     * Creation date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format.
     */
    creation_date?: string | null;
    /**
     * Date and time of automatic deletion in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. Null means that automatic deletion does not occur.
     */
    expiration_date?: string | null;
    counters: FolderCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Path from file/folder to the root of the virtual file system.
 */
interface FilesystemPathStudio {
    [key: string]: any | any;
    /**
     * List of folders.
     */
    folders: Array<FolderStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Virtual filesystem.
 */
interface FilesystemStudio {
    [key: string]: any | any;
    current_folder: FolderStudio;
    /**
     * List of folders.
     */
    folders: Array<FolderStudio>;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Folder specification.
 */
interface FolderSpecificationStudio {
    [key: string]: any | any;
    /**
     * Parent folder key, `null` if the folder is root.
     */
    parent_key?: string | null;
    /**
     * Folder name.
     */
    name: string;
    /**
     * Folder comment.
     */
    comment?: string | null;
    /**
     * Folder color.
     */
    color?: string | null;
    /**
     * Date and time of automatic deletion in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. Null means that automatic deletion does not occur.
     */
    expiration_date?: string | null;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Data error by schema.
 */
interface SchemaErrorStudio {
    [key: string]: any | any;
    /**
     * Target entity identifier.
     */
    entity: string | null;
    /**
     * Error message.
     */
    message: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Error details for 400 `Bad Request`.
 */
interface General400Studio {
    [key: string]: any | any;
    tracedata: TracedataStudio;
    /**
     * Error message.
     */
    message?: string | null;
    /**
     * List of syntax errors - data does not match the schema.
     */
    schema_errors?: Array<SchemaErrorStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Error details for 402 `Payment Required`.
 */
interface General402Studio {
    [key: string]: any | any;
    tracedata: TracedataStudio;
    /**
     * Error message.
     */
    message?: string | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Error details for 403 `Forbidden`.
 */
interface General403Studio {
    [key: string]: any | any;
    tracedata: TracedataStudio;
    /**
     * Error message.
     */
    message?: string | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Resource details.
 */
interface General404DetailStudio {
    [key: string]: any | any;
    tracedata: TracedataStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * 404 Error details.
 */
interface General404Studio {
    [key: string]: any | any;
    /**
     * Resource identifier.
     */
    resource_key?: string | null;
    detail?: General404DetailStudio | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Error details for 429 `Too Many Requests`.
 */
interface General429Studio {
    [key: string]: any | any;
    tracedata: TracedataStudio;
    /**
     * Error message.
     */
    message?: string | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Error details for 500 `Internal Server Error`.
 */
interface General500Studio {
    [key: string]: any | any;
    tracedata: TracedataStudio;
    /**
     * Error message.
     */
    message?: string | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Geographical point.
 */
interface GeopointStudio {
    [key: string]: any | any;
    /**
     * Latitude in degrees.
     */
    latitude: number;
    /**
     * Longitude in degrees.
     */
    longitude: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Type of goal entity. It can be an order or a performer\\transport shift.
 */
declare enum HardlinkElementTypeStudio {
    ORDER = "ORDER",
    PERFORMER_SHIFT = "PERFORMER_SHIFT",
    TRANSPORT_SHIFT = "TRANSPORT_SHIFT"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Assignment group element.
 */
interface HardlinkElementStudio {
    [key: string]: any | any;
    type: HardlinkElementTypeStudio;
    /**
     * Key of the target entity (an order or a shift).
     */
    entity_key: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Assignment required to associate entities in a single group. It can consist of two or more entities. Example:   * driver assignment to the transport (connection between the performer\'s shifts and the transport).   * order assignment to the performer (link the order to a performer\'s shift).   * specifying the need to perform multiple orders during a single trip (linking orders to deliver them within one trip).
 */
interface HardlinkStudio {
    [key: string]: any | any;
    /**
     * Hardlink key.
     */
    key: string;
    /**
     * List of items in the assignment group.
     */
    links: Array<HardlinkElementStudio>;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Sample of loaded data - input task or input task + calculation result.
 */
declare enum ImportSampleStudio {
    TASK = "TASK",
    FULL = "FULL"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Service - source of data import.
 */
declare enum ImportSourceStudio {
    ACCOUNT = "ACCOUNT",
    ADMIN = "ADMIN"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Link to essence.
 */
interface LinkedEssenceStudio {
    [key: string]: any | any;
    /**
     * Essence key, unique identifier.
     */
    essence_key: string;
    /**
     * Essence type.
     */
    essence_type: LinkedEssenceStudioEssenceTypeEnum;
}
declare enum LinkedEssenceStudioEssenceTypeEnum {
    LOCATION = "LOCATION",
    ORDER = "ORDER",
    ASSIGNED_ORDER = "ASSIGNED_ORDER",
    PERFORMER = "PERFORMER",
    TRANSPORT = "TRANSPORT",
    HARDLINK = "HARDLINK",
    TRIP = "TRIP",
    FACT = "FACT",
    CREW = "CREW"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Total transport load.
 */
interface TransportLoadStudio {
    [key: string]: any | any;
    /**
     * Number of cargos.
     */
    count: number;
    capacity: CapacityStatisticsSumStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Statistics for a transport load.
 */
interface LoadStatisticsStudio {
    [key: string]: any | any;
    /**
     * Total transport load for the entire trip time.
     */
    total_load: TransportLoadStudio;
    /**
     * Maximum transport load during the entire trip (for each dimension).
     */
    max_load: TransportLoadStudio;
    /**
     * Maximum transport load over the entire trip duration while in motion (for each dimension).
     */
    max_transfer_load: TransportLoadStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Limiting the location\'s ability to handle cargo.
 */
interface LocationCargosLimitStudio {
    [key: string]: any | any;
    /**
     * Capacity value.
     */
    capacity: CapacityLimitStudio;
    /**
     * Penalty for violating the `capacity`.
     */
    penalty: CapacityCostStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Compatibilities of [the location with transport](#section/Description/Compatibilities).
 */
interface LocationCompatibilitiesStudio {
    [key: string]: any | any;
    /**
     * A list of tags that define a property or requirement.
     */
    transport_restrictions?: Array<string>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Limiting the location\'s ability to serve transport.
 */
interface LocationTransportsLimitStudio {
    [key: string]: any | any;
    /**
     * The number of transport serviced on average during a specified time window.
     */
    count: number;
    /**
     * Penalty for violating the `count`.
     */
    penalty: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Statistics on the implementation of location capacity limits within one time window.
 */
interface LocationLimitStatisticsStudio {
    [key: string]: any | any;
    /**
     * Location limit key, unique identifier.
     */
    location_limit_key: string;
    /**
     * For time window - the amount of measures of cargos moved and the amount of fines for violating restrictions on the movement of cargos.
     */
    cargos_statistics: LocationCargosLimitStudio;
    /**
     * For time window - the number of transports serviced on average during a specified time window and the amount of fines for violating transport service restrictions.
     */
    transports_statistics: LocationTransportsLimitStudio;
    /**
     * The amount of fines for violating the location\'s capacity within the limit.
     */
    location_limit_penalty: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Limitation on the capacity of a location during a certain time period.
 */
interface LocationLimitStudio {
    [key: string]: any | any;
    /**
     * Constraint key, unique identifier.
     */
    key: string;
    /**
     * Time window for the restriction.
     */
    time_window: TimeWindowStudio;
    /**
     * A function that describes the limitation of a location\'s ability to handle cargo and penalties for violating the restrictions. Penalties are cumulative independently for each qualifying part of the function.
     */
    min_cargos?: Array<LocationCargosLimitStudio>;
    /**
     * A function that describes the limitation of a location\'s ability to handle cargo and penalties for violating the restrictions. Penalties are cumulative independently for each qualifying part of the function.
     */
    max_cargos?: Array<LocationCargosLimitStudio>;
    /**
     * A function that describes the limitation of a location’s ability to serve transport and penalties for violating the restrictions. Penalties are cumulative independently for each qualifying part of the function.
     */
    min_transports?: Array<LocationTransportsLimitStudio>;
    /**
     * A function that describes the limitation of a location’s ability to serve transport and penalties for violating the restrictions. Penalties are cumulative independently for each qualifying part of the function.
     */
    max_transports?: Array<LocationTransportsLimitStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Statistics for a specific trip.
 */
interface LocationStatisticsStudio {
    [key: string]: any | any;
    /**
     * Location key.
     */
    location_key: string;
    /**
     * Amount of fines for violating location\'s capacity limit.
     */
    location_limits_penalty: number;
    /**
     * For location - The amount of measures of cargos moved and the amount of fines for violating restrictions on the movement of cargos.
     * @deprecated
     */
    total_cargos_statistics: LocationCargosLimitStudio;
    /**
     * For location - the number of transports serviced on average during a specified time window and the amount of fines for violating transport service restrictions.
     * @deprecated
     */
    total_transports_statistics: LocationTransportsLimitStudio;
    /**
     * Location capacity limit statistics.
     */
    limits_statistics: Array<LocationLimitStatisticsStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Location - unique geographical location of the object with accessibility parameters.
 */
interface LocationTimetableElementStudio {
    [key: string]: any | any;
    /**
     * Time window for location availability.
     */
    work_window: TimeWindowStudio;
    /**
     * List of bandwidth restrictions inside the working window of the location. Constraint time windows cannot overlap and must total `work_window`.
     */
    limits?: Array<LocationLimitStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Location - unique geographical location of the object with accessibility parameters.
 */
interface LocationStudio {
    [key: string]: any | any;
    /**
     * Location key, unique identifier.
     */
    key: string;
    geopoint: GeopointStudio;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    arrival_duration?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    departure_duration?: string;
    /**
     * Location timetable - time windows of availability and capacity restrictions. If the list is empty or not specified, the location works without restrictions.
     */
    timetable?: Array<LocationTimetableElementStudio>;
    compatibilities?: LocationCompatibilitiesStudio | null;
    /**
     * Name, information field.
     */
    name?: string;
    /**
     * Full location address.
     */
    address?: string | null;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Compatibilities of [the order with performers and other orders](#section/Description/Compatibilities).
 */
interface OrderCompatibilitiesStudio {
    [key: string]: any | any;
    /**
     * A list of tags that define a property or requirement.
     */
    order_features?: Array<string>;
    /**
     * A list of tags that define a property or requirement.
     */
    order_restrictions?: Array<string>;
    /**
     * A list of tags that define a property or requirement.
     */
    performer_restrictions?: Array<string>;
    /**
     * A list of tags that define a property or requirement.
     */
    performer_blacklist?: Array<string>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * The order for delivery/transportation, contains a list of demands.
 */
interface OrderStudio {
    [key: string]: any | any;
    /**
     * Order key, unique identifier.
     */
    key: string;
    /**
     * Demands list.
     */
    demands: Array<DemandStudio>;
    /**
     * The list of cargoes referred to by the demands of this order. The list must be empty if all demands in the order are of type `WORK`.
     */
    cargos?: Array<CargoStudio>;
    compatibilities?: OrderCompatibilitiesStudio | null;
    /**
     * Name, information field.
     */
    name?: string;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Compatibilities of [the performer with transport and orders](#section/Description/Compatibilities).
 */
interface PerformerCompatibilitiesStudio {
    [key: string]: any | any;
    /**
     * A list of tags that define a property or requirement.
     */
    performer_features?: Array<string>;
    /**
     * List of feature tag lifetime.
     */
    performer_features_lifetimes?: Array<FeatureLifetimeStudio>;
    /**
     * A list of tags that define a property or requirement.
     */
    transport_restrictions?: Array<string>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Limitation on the performer\'s workload.
 */
interface PerformerLimitsStudio {
    [key: string]: any | any;
    /**
     * Limit of the number of performer\'s shifts in one planning.
     */
    max_work_shifts?: number;
    /**
     * A list of demands for which the performer will spend more time than indicated in the demand. Valid for the specified performer-order pair for all performer\'s shifts and all demands\'s events.
     */
    demand_extra_durations?: Array<DemandExtraDurationStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * The condition for the onset and characteristics of a rest.
 */
interface RestStudio {
    [key: string]: any | any;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    relocating_duration_sum: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    operating_duration_sum?: string | null;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    duration: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Rules for accounting for rest.
 */
interface RestRulesStudio {
    [key: string]: any | any;
    /**
     * The condition for the onset and characteristics of a consecutive rest.
     */
    consecutive: RestStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Performer\'s work and rest rules.
 */
interface WorkAndRestRulesStudio {
    [key: string]: any | any;
    rest_rules?: RestRulesStudio | null;
    break_rules?: BreakRulesStudio | null;
    /**
     * A list of locations keys in which the counters for breaks and rest are reset when located.
     */
    reset_location_keys?: Array<string>;
    /**
     * List of location keys whose stay is not taken into account in the total trip execution time counter.
     */
    ignore_location_keys?: Array<string>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * The paid period of time is an integral part of the tariff.
 */
interface PerformerTariffConstraintStudio {
    [key: string]: any | any;
    /**
     * Length of the paid period according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    stage_length?: string;
    /**
     * Cost within the paid period, monetary unit per second of work.
     */
    cost_per_unit?: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * The tariff determines the cost and time limits of the shift.
 */
interface PerformerTariffStudio {
    [key: string]: any | any;
    /**
     * Price for using the shift, monetary unit.
     */
    cost_per_shift?: number;
    /**
     * A list of tariff components that apply from the start of movement or execution of work on orders.
     */
    constraints?: Array<PerformerTariffConstraintStudio>;
    /**
     * Max sum of penalties for performer or transport using this shift, monetary unit. If not specified or null, the performer can violate without restrictions.
     */
    max_penalty_cost?: number | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Performer\'s shift that determines the availability of the resource for planning within its time window.
 */
interface PerformerShiftStudio {
    [key: string]: any | any;
    /**
     * Shift key, unique identifier.
     */
    key: string;
    /**
     * Time shift window when the performer can perform work at locations and drive between locations.
     */
    availability_time: TimeWindowStudio;
    /**
     * Working time window, when the performer can perform work at locations, must be inside the time window.
     */
    working_time: TimeWindowStudio;
    /**
     * Start location key.  If not specified, the trip starts from the first order location.
     */
    start_location_key?: string | null;
    /**
     * Finish location key.  If not specified, the trip finishes on the last order location.
     */
    finish_location_key?: string | null;
    /**
     * Limit of the number of unique locations in one trip. If not specified or null, number of locations is not limited.
     */
    max_locations?: number | null;
    /**
     * Limit of the number of stops in one trip. If not specified or null, number of stops is not limited.
     */
    max_stops?: number | null;
    tariff?: PerformerTariffStudio;
    work_and_rest_rules?: WorkAndRestRulesStudio | null;
    /**
     * Name, information field.
     */
    name?: string;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Performer. Fulfills orders using transport.
 */
interface PerformerStudio {
    [key: string]: any | any;
    /**
     * Performer\'s key, unique identifier.
     */
    key: string;
    /**
     * List of working shifts of performer.
     */
    shifts: Array<PerformerShiftStudio>;
    /**
     * The type of personal transport that the performer will use to get to his assigned work transport.
     */
    own_transport_type?: TransportTypeStudio;
    compatibilities?: PerformerCompatibilitiesStudio | null;
    limits?: PerformerLimitsStudio | null;
    /**
     * Name, information field.
     */
    name?: string;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * An demand made for a specific stop.
 */
interface StopDemandStudio {
    [key: string]: any | any;
    /**
     * Demand key.
     */
    demand_key: string;
    /**
     * Event key.
     */
    event_key: string;
    /**
     * Time window for completing the demand.
     */
    demand_time_window: TimeWindowStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Statistics for a specific stop during a trip.
 */
interface StopStatisticsStudio {
    [key: string]: any | any;
    /**
     * Location key for stop.
     */
    location_key: string;
    /**
     * List of orders completed at this stop.
     */
    stop_demands: Array<StopDemandStudio>;
    /**
     * Stop time window - from the beginning of the parking lot to the complete departure from the location. The window duration is `waiting_time` + `working_time` + `break_time` + `rest_time` + `arriving_time` + `departure_time`.
     */
    stop_time_window: TimeWindowStudio;
    /**
     * Measurements of times and distances for work on location:    * `time_window` - the time window from the start of movement to the stop until the end of the departure from the stop   * `driving_time` - driving time from the previous stop to the current location   * `waiting_time` - the duration of waiting for the execution of work at the location   * `working_time` - the time spent on the direct execution of work at the location   * `break_time` - duration of the performer\'s break   * `rest_time` - duration of rest for the performer   * `arriving_time` - the time spent on the entrance/parking at the location   * `departure_time` - the time taken to leave the location   * `total_time` - total time for a stop, composed of `driving_time` + `waiting_time` + `working_time` + `break_time` + `rest_time` + `arriving_time` + `departure_time`   * `distance` - the distance from the previous stop to the current location
     */
    measurements: MeasurementsStudio;
    /**
     * Loading to the transport at this stop.
     */
    upload: TransportLoadStudio;
    /**
     * Unloading from the transport at this stop.
     */
    download: TransportLoadStudio;
    /**
     * Maximum load of the transport in the process of loading/unloading at a stop.
     */
    max_load: TransportLoadStudio;
    /**
     * Transport loading at the time of arrival at this stop.
     */
    arrival_load: TransportLoadStudio;
    /**
     * Transport loading at the moment of departure from this stop.
     */
    departure_load: TransportLoadStudio;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Statistics for roundtrip.
 */
interface RoundtripStatisticsStudio {
    [key: string]: any | any;
    /**
     * Roundtrip key.
     */
    roundtrip_key: string;
    /**
     * General statistics for roundtrip.
     */
    general_statistics: GeneralStatisticsStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Statistics for a specific trip.
 */
interface TripStatisticsStudio {
    [key: string]: any | any;
    /**
     * Trip key, unique identifier
     */
    trip_key: string;
    /**
     * General statistics for trip.
     */
    general_statistics: GeneralStatisticsStudio;
    load_statistics: LoadStatisticsStudio;
    /**
     * Statistics per stop during the trip.
     */
    stop_statistics: Array<StopStatisticsStudio>;
    /**
     * Statistics per roundtrip during the trip.
     */
    roundtrip_statistics: Array<RoundtripStatisticsStudio>;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * General statistics on the calculation result.
 */
interface PlanStatisticsStudio {
    [key: string]: any | any;
    total_statistics: GeneralStatisticsStudio;
    /**
     * List of statistics for each scheduled trip separately.
     */
    trips_statistics: Array<TripStatisticsStudio>;
    /**
     * Statistics on the loading of locations for which bandwidth restrictions have been set.
     */
    locations_statistics: Array<LocationStatisticsStudio>;
    task_statistics: TaskStatisticsStudio;
    quality: QualityStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Routing matrix waypoint.
 */
interface RoutingMatrixWaypointStudio {
    [key: string]: any | any;
    geopoint: GeopointStudio;
    /**
     * Name of the point. Can be used as an identifier to match the task and the calculation result.
     */
    name?: string | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Routing matrix. Contains durations and distances between points.
 */
interface RoutingMatrixStudio {
    [key: string]: any | any;
    /**
     * Array of geographical points with distances and times calculated between them.
     */
    waypoints: Array<RoutingMatrixWaypointStudio>;
    /**
     * Routes length between two neighbors locations, in meters. The values in the array are ordered according to the elements order in the `waypoints` parameter. Each matrix row is an array of distances from the desired point to every other point. A negative value (-1) means that it is not possible to drive between the specified locations.
     */
    distances: Array<Array<number>>;
    /**
     * An array of route durations between points, in seconds. The values in the array are ordered according to the order of the elements in the `waypoints` parameter. Each row of the matrix is an array of travel times from the desired point to each other point. A negative value (-1) means that it is impossible to travel between the specified points.
     */
    durations: Array<Array<number>>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Time-distance matrix for a specific transport type.
 */
interface RoutingTransportMatrixStudio {
    [key: string]: any | any;
    transport_type: TransportTypeStudio;
    matrix: RoutingMatrixStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Custom fields for table.
 */
interface TableCustomfieldsStudio {
    [key: string]: any | any;
    /**
     * A custom field containing date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. Supported filter type is `DATETIME_RANGE`.
     */
    datetime_0?: string | null;
    /**
     * A custom field containing date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. Supported filter type is `DATETIME_RANGE`.
     */
    datetime_1?: string | null;
    /**
     * A custom field containing date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. Supported filter type is `DATETIME_RANGE`.
     */
    datetime_2?: string | null;
    /**
     * A custom field containing date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. Supported filter type is `DATETIME_RANGE`.
     */
    datetime_3?: string | null;
    /**
     * A custom field containing date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. Supported filter type is `DATETIME_RANGE`.
     */
    datetime_4?: string | null;
    /**
     * A custom field containing date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. Supported filter type is `DATETIME_RANGE`.
     */
    datetime_5?: string | null;
    /**
     * A custom field containing date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. Supported filter type is `DATETIME_RANGE`.
     */
    datetime_6?: string | null;
    /**
     * A custom field containing date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. Supported filter type is `DATETIME_RANGE`.
     */
    datetime_7?: string | null;
    /**
     * A custom field containing date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. Supported filter type is `DATETIME_RANGE`.
     */
    datetime_8?: string | null;
    /**
     * A custom field containing date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. Supported filter type is `DATETIME_RANGE`.
     */
    datetime_9?: string | null;
    /**
     * A custom field containing an integer value. Supported filter type is `INT_RANGE`.
     */
    int_0?: number | null;
    /**
     * A custom field containing an integer value. Supported filter type is `INT_RANGE`.
     */
    int_1?: number | null;
    /**
     * A custom field containing an integer value. Supported filter type is `INT_RANGE`.
     */
    int_2?: number | null;
    /**
     * A custom field containing an integer value. Supported filter type is `INT_RANGE`.
     */
    int_3?: number | null;
    /**
     * A custom field containing an integer value. Supported filter type is `INT_RANGE`.
     */
    int_4?: number | null;
    /**
     * A custom field containing an integer value. Supported filter type is `INT_RANGE`.
     */
    int_5?: number | null;
    /**
     * A custom field containing an integer value. Supported filter type is `INT_RANGE`.
     */
    int_6?: number | null;
    /**
     * A custom field containing an integer value. Supported filter type is `INT_RANGE`.
     */
    int_7?: number | null;
    /**
     * A custom field containing an integer value. Supported filter type is `INT_RANGE`.
     */
    int_8?: number | null;
    /**
     * A custom field containing an integer value. Supported filter type is `INT_RANGE`.
     */
    int_9?: number | null;
    /**
     * A custom field containing a floating point value. Supported filter type is `FLOAT_RANGE`.
     */
    float_0?: number | null;
    /**
     * A custom field containing a floating point value. Supported filter type is `FLOAT_RANGE`.
     */
    float_1?: number | null;
    /**
     * A custom field containing a floating point value. Supported filter type is `FLOAT_RANGE`.
     */
    float_2?: number | null;
    /**
     * A custom field containing a floating point value. Supported filter type is `FLOAT_RANGE`.
     */
    float_3?: number | null;
    /**
     * A custom field containing a floating point value. Supported filter type is `FLOAT_RANGE`.
     */
    float_4?: number | null;
    /**
     * A custom field containing a floating point value. Supported filter type is `FLOAT_RANGE`.
     */
    float_5?: number | null;
    /**
     * A custom field containing a floating point value. Supported filter type is `FLOAT_RANGE`.
     */
    float_6?: number | null;
    /**
     * A custom field containing a floating point value. Supported filter type is `FLOAT_RANGE`.
     */
    float_7?: number | null;
    /**
     * A custom field containing a floating point value. Supported filter type is `FLOAT_RANGE`.
     */
    float_8?: number | null;
    /**
     * A custom field containing a floating point value. Supported filter type is `FLOAT_RANGE`.
     */
    float_9?: number | null;
    /**
     * A custom field containing the duration of the time period. Supported filter type is `DURATION_RANGE`.
     */
    duration_0?: string | null;
    /**
     * A custom field containing the duration of the time period. Supported filter type is `DURATION_RANGE`.
     */
    duration_1?: string | null;
    /**
     * A custom field containing the duration of the time period. Supported filter type is `DURATION_RANGE`.
     */
    duration_2?: string | null;
    /**
     * A custom field containing the duration of the time period. Supported filter type is `DURATION_RANGE`.
     */
    duration_3?: string | null;
    /**
     * A custom field containing the duration of the time period. Supported filter type is `DURATION_RANGE`.
     */
    duration_4?: string | null;
    /**
     * A custom field containing the duration of the time period. Supported filter type is `DURATION_RANGE`.
     */
    duration_5?: string | null;
    /**
     * A custom field containing the duration of the time period. Supported filter type is `DURATION_RANGE`.
     */
    duration_6?: string | null;
    /**
     * A custom field containing the duration of the time period. Supported filter type is `DURATION_RANGE`.
     */
    duration_7?: string | null;
    /**
     * A custom field containing the duration of the time period. Supported filter type is `DURATION_RANGE`.
     */
    duration_8?: string | null;
    /**
     * A custom field containing the duration of the time period. Supported filter type is `DURATION_RANGE`.
     */
    duration_9?: string | null;
    /**
     * A custom field containing a boolean value. Supported filter type is `BOOL_LIST`.
     */
    bool_0?: boolean | null;
    /**
     * A custom field containing a boolean value. Supported filter type is `BOOL_LIST`.
     */
    bool_1?: boolean | null;
    /**
     * A custom field containing a boolean value. Supported filter type is `BOOL_LIST`.
     */
    bool_2?: boolean | null;
    /**
     * A custom field containing a boolean value. Supported filter type is `BOOL_LIST`.
     */
    bool_3?: boolean | null;
    /**
     * A custom field containing a boolean value. Supported filter type is `BOOL_LIST`.
     */
    bool_4?: boolean | null;
    /**
     * A custom field containing a boolean value. Supported filter type is `BOOL_LIST`.
     */
    bool_5?: boolean | null;
    /**
     * A custom field containing a boolean value. Supported filter type is `BOOL_LIST`.
     */
    bool_6?: boolean | null;
    /**
     * A custom field containing a boolean value. Supported filter type is `BOOL_LIST`.
     */
    bool_7?: boolean | null;
    /**
     * A custom field containing a boolean value. Supported filter type is `BOOL_LIST`.
     */
    bool_8?: boolean | null;
    /**
     * A custom field containing a boolean value. Supported filter type is `BOOL_LIST`.
     */
    bool_9?: boolean | null;
    /**
     * A custom field containing an string value. Supported filter type is `STRING_SEARCH`.
     */
    string_0?: string | null;
    /**
     * A custom field containing an string value. Supported filter type is `STRING_SEARCH`.
     */
    string_1?: string | null;
    /**
     * A custom field containing an string value. Supported filter type is `STRING_SEARCH`.
     */
    string_2?: string | null;
    /**
     * A custom field containing an string value. Supported filter type is `STRING_SEARCH`.
     */
    string_3?: string | null;
    /**
     * A custom field containing an string value. Supported filter type is `STRING_SEARCH`.
     */
    string_4?: string | null;
    /**
     * A custom field containing an string value. Supported filter type is `STRING_SEARCH`.
     */
    string_5?: string | null;
    /**
     * A custom field containing an string value. Supported filter type is `STRING_SEARCH`.
     */
    string_6?: string | null;
    /**
     * A custom field containing an string value. Supported filter type is `STRING_SEARCH`.
     */
    string_7?: string | null;
    /**
     * A custom field containing an string value. Supported filter type is `STRING_SEARCH`.
     */
    string_8?: string | null;
    /**
     * A custom field containing an string value. Supported filter type is `STRING_SEARCH`.
     */
    string_9?: string | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Experiment table column name.
 */
declare enum TableExperimentColumnTypeStudio {
    SHARING = "SHARING",
    EDIT_DATE = "EDIT_DATE",
    CREATION_DATE = "CREATION_DATE",
    CALCULATION_STATE = "CALCULATION_STATE",
    UNPLANNED_ORDER_KEYS_COUNT = "UNPLANNED_ORDER_KEYS_COUNT",
    COST = "COST"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Fact table column name.
 */
declare enum TableFactColumnTypeStudio {
    ESSENCE_KEY = "ESSENCE_KEY",
    ENABLED = "ENABLED",
    PRISTINE = "PRISTINE",
    TYPE = "TYPE",
    CREATION_DATE = "CREATION_DATE",
    TRIP_KEY = "TRIP_KEY",
    TRIP_NAME = "TRIP_NAME",
    CUSTOMFIELDS = "CUSTOMFIELDS"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Fact fields for table.
 */
interface TableFactFieldsStudio {
    [key: string]: any | any;
    /**
     * Essence type.
     */
    essence_type?: TableFactFieldsStudioEssenceTypeEnum;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    essence_key?: string | null;
    /**
     * Using essence for calculations.
     */
    enabled?: boolean;
    /**
     * A flag indicating whether changes to the entity have been made relative to the original data. `true` - means that the data is original and has not been changed.
     */
    readonly pristine?: boolean;
    /**
     * Fact type.
     */
    type?: string | null;
    /**
     * Fact creation date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format.
     */
    creation_date?: string | null;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    trip_key?: string | null;
    /**
     * Name, information field.
     */
    trip_name?: string;
    /**
     * List of attributes as a string.
     */
    attributes?: string;
    customfields?: TableCustomfieldsStudio;
}
declare enum TableFactFieldsStudioEssenceTypeEnum {
    FACT = "FACT"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Float range filter.
 */
interface TableFilterFloatRangeStudio {
    [key: string]: any | any;
    /**
     * Left side.
     */
    from?: number;
    /**
     * Right side.
     */
    to?: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Integer range filter.
 */
interface TableFilterIntRangeStudio {
    [key: string]: any | any;
    /**
     * Left side.
     */
    from?: number;
    /**
     * Right side.
     */
    to?: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * String list filter.
 */
interface TableFilterStringListStudio {
    [key: string]: any | any;
    /**
     * A list of strings.
     */
    elements?: Array<string | null>;
    /**
     * Exact match (`true`) or search by occurrence of a sublist (`false`).
     */
    strict?: boolean;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Time window filter.
 */
interface TableFilterDatetimeRangeStudio {
    [key: string]: any | any;
    /**
     * Date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format.
     */
    from?: string | null;
    /**
     * Date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format.
     */
    to?: string | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Filter type:   * `DATETIME_RANGE` - intersection of the time interval   * `INT_RANGE` - getting a number inside an integer segment   * `FLOAT_RANGE` - hitting the number inside the float segment   * `DURATION_RANGE` - hitting inside the duration segment   * `BOOL_LIST` - exact match of boolean values   * `ENUM_LIST` - exact match of string values from enum   * `STRING_LIST` - partial match of a subset of string values   * `STRING_SEARCH` - partial match of a string
 */
declare enum TableFilterTypeStudio {
    DATETIME_RANGE = "DATETIME_RANGE",
    INT_RANGE = "INT_RANGE",
    FLOAT_RANGE = "FLOAT_RANGE",
    DURATION_RANGE = "DURATION_RANGE",
    BOOL_LIST = "BOOL_LIST",
    ENUM_LIST = "ENUM_LIST",
    STRING_LIST = "STRING_LIST",
    STRING_SEARCH = "STRING_SEARCH"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * String search filter.
 */
interface TableFilterStringSearchStudio {
    [key: string]: any | any;
    /**
     * String for search.
     */
    text?: string | null;
    /**
     * Exact match (`true`) or search by occurrence of a substring (`false`).
     */
    strict?: boolean;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Boolean list filter.
 */
interface TableFilterBoolListStudio {
    [key: string]: any | any;
    /**
     * A list of booleans.
     */
    elements?: Array<boolean>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Filter by a list of pre-known text values.
 */
interface TableFilterEnumListStudio {
    [key: string]: any | any;
    /**
     * A list of strings.
     */
    elements?: Array<string | null>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Duration range.
 */
interface TableFilterDurationRangeStudio {
    [key: string]: any | any;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    from?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    to?: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Universal filter for table.
 */
interface TableFactFilterStudio {
    [key: string]: any | any;
    type: TableFilterTypeStudio;
    column: TableFactColumnTypeStudio;
    custom_column?: TableCustomfieldsColumnTypeStudio | null;
    datetime_range?: TableFilterDatetimeRangeStudio | null;
    int_range?: TableFilterIntRangeStudio | null;
    float_range?: TableFilterFloatRangeStudio | null;
    duration_range?: TableFilterDurationRangeStudio | null;
    bool_list?: TableFilterBoolListStudio | null;
    enum_list?: TableFilterEnumListStudio | null;
    string_list?: TableFilterStringListStudio | null;
    string_search?: TableFilterStringSearchStudio | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * A list of filters.
 */
interface TableFactFilterListStudio {
    [key: string]: any | any;
    /**
     * A list of filters.
     */
    filters?: Array<TableFactFilterStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Fact (table).
 */
interface TableFactStudio {
    [key: string]: any | any;
    fields: TableFactFieldsStudio;
    /**
     * List of nested elements.
     */
    elements: Array<TableFactFieldsStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Facts table.
 */
interface TableFactListStudio {
    [key: string]: any | any;
    /**
     * Facts list.
     */
    essences: Array<TableFactStudio>;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Data for calculating metrics. If entity keys are specified, metrics are calculated by them. If keys are not specified, metrics are calculated by all entities that fall under the filters.
 */
interface TableFactMetricsFilterListStudio {
    [key: string]: any | any;
    /**
     * List of essence keys.
     */
    keys?: Array<string>;
    /**
     * A list of filters.
     */
    filters?: Array<TableFactFilterStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * General metrics for selected facts.
 */
interface TableFactMetricsStudio {
    [key: string]: any | any;
    /**
     * Total values for fields of types int, double, duration.
     */
    fields_sum?: TableFactFieldsStudio;
    /**
     * Average values for fields of types int, double, duration. Only fields that have a value are taken into account to calculate the average.
     */
    fields_avg?: TableFactFieldsStudio;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Hardlink table column name.
 */
declare enum TableHardlinkColumnTypeStudio {
    ESSENCE_KEY = "ESSENCE_KEY",
    ENABLED = "ENABLED",
    PRISTINE = "PRISTINE",
    ELEMENT_TYPE = "ELEMENT_TYPE",
    ELEMENTS_COUNT = "ELEMENTS_COUNT",
    TRIP_KEY = "TRIP_KEY",
    TRIP_NAME = "TRIP_NAME",
    CUSTOMFIELDS = "CUSTOMFIELDS"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Hardlink and element fields for table.
 */
interface TableHardlinkFieldsStudio {
    [key: string]: any | any;
    /**
     * Essence type.
     */
    essence_type?: TableHardlinkFieldsStudioEssenceTypeEnum;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    essence_key?: string | null;
    /**
     * Using essence for calculations.
     */
    enabled?: boolean;
    /**
     * A flag indicating whether changes to the entity have been made relative to the original data. `true` - means that the data is original and has not been changed.
     */
    readonly pristine?: boolean;
    /**
     * Element type. For an hardlink, a list of types is specified separated by commas.
     */
    element_type?: string | null;
    /**
     * Elements count.
     */
    elements_count?: number;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    trip_key?: string | null;
    /**
     * Name, information field.
     */
    trip_name?: string;
    /**
     * List of attributes as a string.
     */
    attributes?: string;
    customfields?: TableCustomfieldsStudio;
}
declare enum TableHardlinkFieldsStudioEssenceTypeEnum {
    HARDLINK = "HARDLINK",
    ELEMENT = "ELEMENT"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Universal filter for table.
 */
interface TableHardlinkFilterStudio {
    [key: string]: any | any;
    type: TableFilterTypeStudio;
    column: TableHardlinkColumnTypeStudio;
    custom_column?: TableCustomfieldsColumnTypeStudio | null;
    datetime_range?: TableFilterDatetimeRangeStudio | null;
    int_range?: TableFilterIntRangeStudio | null;
    float_range?: TableFilterFloatRangeStudio | null;
    duration_range?: TableFilterDurationRangeStudio | null;
    bool_list?: TableFilterBoolListStudio | null;
    enum_list?: TableFilterEnumListStudio | null;
    string_list?: TableFilterStringListStudio | null;
    string_search?: TableFilterStringSearchStudio | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * A list of filters.
 */
interface TableHardlinkFilterListStudio {
    [key: string]: any | any;
    /**
     * A list of filters.
     */
    filters?: Array<TableHardlinkFilterStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Hardlink (table).
 */
interface TableHardlinkStudio {
    [key: string]: any | any;
    fields: TableHardlinkFieldsStudio;
    /**
     * List of nested elements.
     */
    elements: Array<TableHardlinkFieldsStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Hardlinks table.
 */
interface TableHardlinkListStudio {
    [key: string]: any | any;
    /**
     * Hardlinks list.
     */
    essences: Array<TableHardlinkStudio>;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Data for calculating metrics. If entity keys are specified, metrics are calculated by them. If keys are not specified, metrics are calculated by all entities that fall under the filters.
 */
interface TableHardlinkMetricsFilterListStudio {
    [key: string]: any | any;
    /**
     * List of essence keys.
     */
    keys?: Array<string>;
    /**
     * A list of filters.
     */
    filters?: Array<TableHardlinkFilterStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * General metrics for selected hardlinks.
 */
interface TableHardlinkMetricsStudio {
    [key: string]: any | any;
    /**
     * Total values for fields of types int, double, duration.
     */
    fields_sum?: TableHardlinkFieldsStudio;
    /**
     * Average values for fields of types int, double, duration. Only fields that have a value are taken into account to calculate the average.
     */
    fields_avg?: TableHardlinkFieldsStudio;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Column name in the table with locations:   * `ESSENCE_KEY` - entity key   * `ENABLED` - participation in calculation   * `PRISTINE` - data change flag   * `WORKING_TIME` - working time window   * `ATTRIBUTES` - list of attributes in one line   * `CUSTOMFIELDS` - custom table fields
 */
declare enum TableLocationColumnTypeStudio {
    ESSENCE_KEY = "ESSENCE_KEY",
    ENABLED = "ENABLED",
    PRISTINE = "PRISTINE",
    WORKING_TIME = "WORKING_TIME",
    NAME = "NAME",
    ATTRIBUTES = "ATTRIBUTES",
    CUSTOMFIELDS = "CUSTOMFIELDS"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Location fields for table.
 */
interface TableLocationFieldsStudio {
    [key: string]: any | any;
    /**
     * Essence type.
     */
    essence_type?: TableLocationFieldsStudioEssenceTypeEnum;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    essence_key?: string | null;
    /**
     * Using essence for calculations.
     */
    enabled?: boolean;
    /**
     * A flag indicating whether changes to the entity have been made relative to the original data. `true` - means that the data is original and has not been changed.
     */
    readonly pristine?: boolean;
    working_time?: TimeWindowStudio | null;
    /**
     * Name, information field.
     */
    name?: string;
    /**
     * List of attributes as a string.
     */
    attributes?: string;
    customfields?: TableCustomfieldsStudio;
}
declare enum TableLocationFieldsStudioEssenceTypeEnum {
    LOCATION = "LOCATION",
    WORK_WINDOW = "WORK_WINDOW"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Universal filter for table.
 */
interface TableLocationFilterStudio {
    [key: string]: any | any;
    type: TableFilterTypeStudio;
    column: TableLocationColumnTypeStudio;
    custom_column?: TableCustomfieldsColumnTypeStudio | null;
    datetime_range?: TableFilterDatetimeRangeStudio | null;
    int_range?: TableFilterIntRangeStudio | null;
    float_range?: TableFilterFloatRangeStudio | null;
    duration_range?: TableFilterDurationRangeStudio | null;
    bool_list?: TableFilterBoolListStudio | null;
    enum_list?: TableFilterEnumListStudio | null;
    string_list?: TableFilterStringListStudio | null;
    string_search?: TableFilterStringSearchStudio | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * A list of filters.
 */
interface TableLocationFilterListStudio {
    [key: string]: any | any;
    /**
     * A list of filters.
     */
    filters?: Array<TableLocationFilterStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Location (table).
 */
interface TableLocationStudio {
    [key: string]: any | any;
    fields: TableLocationFieldsStudio;
    /**
     * List of nested elements.
     */
    elements: Array<TableLocationFieldsStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Locations table.
 */
interface TableLocationListStudio {
    [key: string]: any | any;
    /**
     * Locations list.
     */
    essences: Array<TableLocationStudio>;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Data for calculating metrics. If entity keys are specified, metrics are calculated by them. If keys are not specified, metrics are calculated by all entities that fall under the filters.
 */
interface TableLocationMetricsFilterListStudio {
    [key: string]: any | any;
    /**
     * List of essence keys.
     */
    keys?: Array<string>;
    /**
     * A list of filters.
     */
    filters?: Array<TableLocationFilterStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * General metrics for selected locations.
 */
interface TableLocationMetricsStudio {
    [key: string]: any | any;
    /**
     * Total values for fields of types int, double, duration.
     */
    fields_sum?: TableLocationFieldsStudio;
    /**
     * Average values for fields of types int, double, duration. Only fields that have a value are taken into account to calculate the average.
     */
    fields_avg?: TableLocationFieldsStudio;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Column name in the table with orders:   * `ESSENCE_KEY` - entity key   * `ENABLED` - participation in calculation   * `PRISTINE` - data change flag
 */
declare enum TableOrderColumnTypeStudio {
    ESSENCE_KEY = "ESSENCE_KEY",
    ENABLED = "ENABLED",
    PRISTINE = "PRISTINE",
    STATE = "STATE",
    TYPE = "TYPE",
    HARD_TIME_WINDOW = "HARD_TIME_WINDOW",
    SOFT_TIME_WINDOW = "SOFT_TIME_WINDOW",
    GENERAL_DROP_TIME_WINDOW = "GENERAL_DROP_TIME_WINDOW",
    GENERAL_PICKUP_TIME_WINDOW = "GENERAL_PICKUP_TIME_WINDOW",
    GENERAL_WORK_TIME_WINDOW = "GENERAL_WORK_TIME_WINDOW",
    REWARD = "REWARD",
    MASS = "MASS",
    VOLUME = "VOLUME",
    CAPACITY_A = "CAPACITY_A",
    CAPACITY_B = "CAPACITY_B",
    CAPACITY_C = "CAPACITY_C",
    ORDER_FEATURES = "ORDER_FEATURES",
    ORDER_RESTRICTIONS = "ORDER_RESTRICTIONS",
    PERFORMER_RESTRICTIONS = "PERFORMER_RESTRICTIONS",
    PERFORMER_BLACKLIST = "PERFORMER_BLACKLIST",
    WIDTH = "WIDTH",
    HEIGHT = "HEIGHT",
    LENGTH = "LENGTH",
    ROTATION = "ROTATION",
    BOX_RESTRICTIONS = "BOX_RESTRICTIONS",
    CARGO_FEATURES = "CARGO_FEATURES",
    CARGO_RESTRICTIONS = "CARGO_RESTRICTIONS",
    DEMANDS_COUNT = "DEMANDS_COUNT",
    TRIP_KEY = "TRIP_KEY",
    TRIP_NAME = "TRIP_NAME",
    NAME = "NAME",
    ATTRIBUTES = "ATTRIBUTES",
    CUSTOMFIELDS = "CUSTOMFIELDS"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Order and demand fields for table.
 */
interface TableOrderFieldsStudio {
    [key: string]: any | any;
    /**
     * Essence type.
     */
    essence_type?: TableOrderFieldsStudioEssenceTypeEnum;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    essence_key?: string | null;
    /**
     * Using essence for calculations.
     */
    enabled?: boolean;
    /**
     * A flag indicating whether changes to the entity have been made relative to the original data. `true` - means that the data is original and has not been changed.
     */
    readonly pristine?: boolean;
    state?: BasicStateStudio;
    /**
     * String table field.  For the parent entity, a comma-separated list of values is specified.
     */
    type?: string | null;
    hard_time_window?: TimeWindowStudio | null;
    soft_time_window?: TimeWindowStudio | null;
    general_drop_time_window?: TimeWindowStudio | null;
    general_pickup_time_window?: TimeWindowStudio | null;
    general_work_time_window?: TimeWindowStudio | null;
    /**
     * The total reward for orders fulfillment.
     */
    reward?: number;
    /**
     * Weight in kilograms.
     */
    mass?: number;
    /**
     * Volume in cubic meters.
     */
    volume?: number;
    /**
     * Additional capacity parameter (A) for measuring cargoes and boxes in alternative units. For example, to account for cargo in pieces (this parameter is equal to one for a cargo and the maximum number of cargo to hold for a box).
     */
    capacity_a?: number;
    /**
     * Additional capacity parameter (B) for measuring cargoes and boxes in alternative units.
     */
    capacity_b?: number;
    /**
     * Additional capacity parameter (C) for measuring cargoes and boxes in alternative units.
     */
    capacity_c?: number;
    /**
     * String table field.  For the parent entity, a comma-separated list of values is specified.
     */
    order_features?: string | null;
    /**
     * String table field.  For the parent entity, a comma-separated list of values is specified.
     */
    order_restrictions?: string | null;
    /**
     * String table field.  For the parent entity, a comma-separated list of values is specified.
     */
    performer_restrictions?: string | null;
    /**
     * String table field.  For the parent entity, a comma-separated list of values is specified.
     */
    performer_blacklist?: string | null;
    /**
     * Width in meters, used to check the transport box capacity.
     */
    width?: number;
    /**
     * Height in meters, used to check the transport box capacity.
     */
    height?: number;
    /**
     * Length in meters, used to check the transport box capacity.
     */
    length?: number;
    /**
     * String table field.  For the parent entity, a comma-separated list of values is specified.
     */
    rotation?: string | null;
    /**
     * String table field.  For the parent entity, a comma-separated list of values is specified.
     */
    box_restrictions?: string | null;
    /**
     * String table field.  For the parent entity, a comma-separated list of values is specified.
     */
    cargo_features?: string | null;
    /**
     * String table field.  For the parent entity, a comma-separated list of values is specified.
     */
    cargo_restrictions?: string | null;
    /**
     * Demands count.
     */
    demands_count?: number;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    trip_key?: string | null;
    /**
     * Name, information field.
     */
    trip_name?: string;
    /**
     * Name, information field.
     */
    name?: string;
    /**
     * List of attributes as a string.
     */
    attributes?: string;
    customfields?: TableCustomfieldsStudio;
}
declare enum TableOrderFieldsStudioEssenceTypeEnum {
    ORDER = "ORDER",
    DEMAND = "DEMAND"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Universal filter for table.
 */
interface TableOrderFilterStudio {
    [key: string]: any | any;
    type: TableFilterTypeStudio;
    column: TableOrderColumnTypeStudio;
    custom_column?: TableCustomfieldsColumnTypeStudio | null;
    datetime_range?: TableFilterDatetimeRangeStudio | null;
    int_range?: TableFilterIntRangeStudio | null;
    float_range?: TableFilterFloatRangeStudio | null;
    duration_range?: TableFilterDurationRangeStudio | null;
    bool_list?: TableFilterBoolListStudio | null;
    enum_list?: TableFilterEnumListStudio | null;
    string_list?: TableFilterStringListStudio | null;
    string_search?: TableFilterStringSearchStudio | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * A list of filters.
 */
interface TableOrderFilterListStudio {
    [key: string]: any | any;
    /**
     * A list of filters.
     */
    filters?: Array<TableOrderFilterStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Order (table).
 */
interface TableOrderStudio {
    [key: string]: any | any;
    fields: TableOrderFieldsStudio;
    /**
     * List of nested elements.
     */
    elements: Array<TableOrderFieldsStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Orders table.
 */
interface TableOrderListStudio {
    [key: string]: any | any;
    /**
     * Orders list.
     */
    essences: Array<TableOrderStudio>;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Data for calculating metrics. If entity keys are specified, metrics are calculated by them. If keys are not specified, metrics are calculated by all entities that fall under the filters.
 */
interface TableOrderMetricsFilterListStudio {
    [key: string]: any | any;
    /**
     * List of essence keys.
     */
    keys?: Array<string>;
    /**
     * A list of filters.
     */
    filters?: Array<TableOrderFilterStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * General metrics for selected orders.
 */
interface TableOrderMetricsStudio {
    [key: string]: any | any;
    /**
     * Total values for fields of types int, double, duration.
     */
    fields_sum?: TableOrderFieldsStudio;
    /**
     * Average values for fields of types int, double, duration. Only fields that have a value are taken into account to calculate the average.
     */
    fields_avg?: TableOrderFieldsStudio;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Column name in the table with performers:   * `ESSENCE_KEY` - entity key   * `ENABLED` - participation in calculation   * `PRISTINE` - data change flag
 */
declare enum TablePerformerColumnTypeStudio {
    ESSENCE_KEY = "ESSENCE_KEY",
    ENABLED = "ENABLED",
    PRISTINE = "PRISTINE",
    WORKING_TIME = "WORKING_TIME",
    AVAILABILITY_TIME = "AVAILABILITY_TIME",
    TRIP_KEY = "TRIP_KEY",
    TRIP_NAME = "TRIP_NAME",
    LOCATION_KEYS = "LOCATION_KEYS",
    PERFORMER_FEATURES = "PERFORMER_FEATURES",
    TRANSPORT_RESTRICTIONS = "TRANSPORT_RESTRICTIONS",
    TRIPS_COUNT = "TRIPS_COUNT",
    SHIFTS_COUNT = "SHIFTS_COUNT",
    NAME = "NAME",
    ATTRIBUTES = "ATTRIBUTES",
    CUSTOMFIELDS = "CUSTOMFIELDS"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Performer and shift fields for table.
 */
interface TablePerformerFieldsStudio {
    [key: string]: any | any;
    /**
     * Essence type.
     */
    essence_type?: TablePerformerFieldsStudioEssenceTypeEnum;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    essence_key?: string | null;
    /**
     * Using essence for calculations.
     */
    enabled?: boolean;
    /**
     * A flag indicating whether changes to the entity have been made relative to the original data. `true` - means that the data is original and has not been changed.
     */
    readonly pristine?: boolean;
    working_time?: TimeWindowStudio | null;
    availability_time?: TimeWindowStudio | null;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    trip_key?: string | null;
    /**
     * Name, information field.
     */
    trip_name?: string;
    /**
     * String table field.  For the parent entity, a comma-separated list of values is specified.
     */
    location_keys?: string | null;
    /**
     * String table field.  For the parent entity, a comma-separated list of values is specified.
     */
    performer_features?: string | null;
    /**
     * String table field.  For the parent entity, a comma-separated list of values is specified.
     */
    transport_restrictions?: string | null;
    /**
     * The number of trips in which the performer participates (for a shift - 0 or 1).
     */
    trips_count?: number;
    /**
     * The number of shifts for the performer.
     */
    shifts_count?: number;
    /**
     * Name, information field.
     */
    name?: string;
    /**
     * List of attributes as a string.
     */
    attributes?: string;
    customfields?: TableCustomfieldsStudio;
}
declare enum TablePerformerFieldsStudioEssenceTypeEnum {
    PERFORMER = "PERFORMER",
    PERFORMER_SHIFT = "PERFORMER_SHIFT"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Universal filter for table.
 */
interface TablePerformerFilterStudio {
    [key: string]: any | any;
    type: TableFilterTypeStudio;
    column: TablePerformerColumnTypeStudio;
    custom_column?: TableCustomfieldsColumnTypeStudio | null;
    datetime_range?: TableFilterDatetimeRangeStudio | null;
    int_range?: TableFilterIntRangeStudio | null;
    float_range?: TableFilterFloatRangeStudio | null;
    duration_range?: TableFilterDurationRangeStudio | null;
    bool_list?: TableFilterBoolListStudio | null;
    enum_list?: TableFilterEnumListStudio | null;
    string_list?: TableFilterStringListStudio | null;
    string_search?: TableFilterStringSearchStudio | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * A list of filters.
 */
interface TablePerformerFilterListStudio {
    [key: string]: any | any;
    /**
     * A list of filters.
     */
    filters?: Array<TablePerformerFilterStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Performer (table).
 */
interface TablePerformerStudio {
    [key: string]: any | any;
    fields: TablePerformerFieldsStudio;
    /**
     * List of nested elements.
     */
    elements: Array<TablePerformerFieldsStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Performers table.
 */
interface TablePerformerListStudio {
    [key: string]: any | any;
    /**
     * Performers list.
     */
    essences: Array<TablePerformerStudio>;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Data for calculating metrics. If entity keys are specified, metrics are calculated by them. If keys are not specified, metrics are calculated by all entities that fall under the filters.
 */
interface TablePerformerMetricsFilterListStudio {
    [key: string]: any | any;
    /**
     * List of essence keys.
     */
    keys?: Array<string>;
    /**
     * A list of filters.
     */
    filters?: Array<TablePerformerFilterStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * General metrics for selected performers.
 */
interface TablePerformerMetricsStudio {
    [key: string]: any | any;
    /**
     * Total values for fields of types int, double, duration.
     */
    fields_sum?: TablePerformerFieldsStudio;
    /**
     * Average values for fields of types int, double, duration. Only fields that have a value are taken into account to calculate the average.
     */
    fields_avg?: TablePerformerFieldsStudio;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Column name in the table with roundtrips:   * `ESSENCE_KEY` - entity key   * `ENABLED` - participation in the calculation   * `PRISTINE` - data change flag
 */
declare enum TableRoundtripColumnTypeStudio {
    ESSENCE_KEY = "ESSENCE_KEY",
    ENABLED = "ENABLED",
    TRIP_KEY = "TRIP_KEY",
    PRISTINE = "PRISTINE",
    TRIP_NAME = "TRIP_NAME",
    COST = "COST",
    REWARD = "REWARD",
    PROFIT = "PROFIT",
    DRIVING_TIME = "DRIVING_TIME",
    WAITING_TIME = "WAITING_TIME",
    BREAK_TIME = "BREAK_TIME",
    REST_TIME = "REST_TIME",
    WORKING_TIME = "WORKING_TIME",
    ARRIVING_TIME = "ARRIVING_TIME",
    DEPARTURE_TIME = "DEPARTURE_TIME",
    TOTAL_TIME = "TOTAL_TIME",
    DISTANCE = "DISTANCE",
    TIME_WINDOW = "TIME_WINDOW",
    ORDERS_COUNT = "ORDERS_COUNT",
    PLAN_ORDERS_COUNT = "PLAN_ORDERS_COUNT",
    WAITLIST_ORDERS_COUNT = "WAITLIST_ORDERS_COUNT",
    STOPS_COUNT = "STOPS_COUNT",
    LOCATIONS_COUNT = "LOCATIONS_COUNT",
    CARGO_CAPACITY_RATIO_MASS = "CARGO_CAPACITY_RATIO_MASS",
    CARGO_CAPACITY_RATIO_VOLUME = "CARGO_CAPACITY_RATIO_VOLUME",
    CARGO_CAPACITY_RATIO_CAPACITY_A = "CARGO_CAPACITY_RATIO_CAPACITY_A",
    CARGO_CAPACITY_RATIO_CAPACITY_B = "CARGO_CAPACITY_RATIO_CAPACITY_B",
    CARGO_CAPACITY_RATIO_CAPACITY_C = "CARGO_CAPACITY_RATIO_CAPACITY_C",
    MAX_TRANSPORT_LOAD_MASS = "MAX_TRANSPORT_LOAD_MASS",
    MAX_TRANSPORT_LOAD_VOLUME = "MAX_TRANSPORT_LOAD_VOLUME",
    MAX_TRANSPORT_LOAD_CAPACITY_A = "MAX_TRANSPORT_LOAD_CAPACITY_A",
    MAX_TRANSPORT_LOAD_CAPACITY_B = "MAX_TRANSPORT_LOAD_CAPACITY_B",
    MAX_TRANSPORT_LOAD_CAPACITY_C = "MAX_TRANSPORT_LOAD_CAPACITY_C",
    ATTRIBUTES = "ATTRIBUTES",
    CUSTOMFIELDS = "CUSTOMFIELDS"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Table fields for roundtrips.
 */
interface TableRoundtripFieldsStudio {
    [key: string]: any | any;
    /**
     * Essence type.
     */
    essence_type?: TableRoundtripFieldsStudioEssenceTypeEnum;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    essence_key?: string | null;
    /**
     * Using essence for calculations.
     */
    enabled?: boolean;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    trip_key?: string | null;
    /**
     * A flag indicating whether changes to the entity have been made relative to the original data. `true` - means that the data is original and has not been changed.
     */
    readonly pristine?: boolean;
    /**
     * Name, information field.
     */
    trip_name?: string;
    /**
     * Total cost calculated based on the performer\'s and transport tariffs.
     */
    cost?: number;
    /**
     * The total reward for orders fulfillment.
     */
    reward?: number;
    /**
     * The total profit is equal to the difference between the total reward (`reward`) and cost (`cost`).
     */
    profit?: number;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    driving_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    waiting_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    break_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    rest_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    working_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    arriving_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    departure_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    total_time?: string;
    /**
     * Distance in meters.
     */
    distance?: number;
    time_window?: TimeWindowStudio | null;
    /**
     * The total number of planned and assigned orders.
     */
    orders_count?: number;
    /**
     * The total number of planned orders.
     */
    plan_orders_count?: number;
    /**
     * The total number of assigned orders.
     */
    waitlist_orders_count?: number;
    /**
     * The total number of stops (non-unique locations).
     */
    stops_count?: number;
    /**
     * The total number of unique locations within one trip.
     */
    locations_count?: number;
    /**
     * The ratio of the total additive measures of the transported cargo to the total capacity of the boxes.
     */
    cargo_capacity_ratio_mass?: number;
    /**
     * The ratio of the total additive measures of the transported cargo to the total capacity of the boxes.
     */
    cargo_capacity_ratio_volume?: number;
    /**
     * The ratio of the total additive measures of the transported cargo to the total capacity of the boxes.
     */
    cargo_capacity_ratio_capacity_a?: number;
    /**
     * The ratio of the total additive measures of the transported cargo to the total capacity of the boxes.
     */
    cargo_capacity_ratio_capacity_b?: number;
    /**
     * The ratio of the total additive measures of the transported cargo to the total capacity of the boxes.
     */
    cargo_capacity_ratio_capacity_c?: number;
    /**
     * The ratio of the maximum load of boxes to the total capacity of boxes.
     */
    max_transport_load_mass?: number;
    /**
     * The ratio of the maximum load of boxes to the total capacity of boxes.
     */
    max_transport_load_volume?: number;
    /**
     * The ratio of the maximum load of boxes to the total capacity of boxes.
     */
    max_transport_load_capacity_a?: number;
    /**
     * The ratio of the maximum load of boxes to the total capacity of boxes.
     */
    max_transport_load_capacity_b?: number;
    /**
     * The ratio of the maximum load of boxes to the total capacity of boxes.
     */
    max_transport_load_capacity_c?: number;
    /**
     * List of attributes as a string.
     */
    attributes?: string;
    customfields?: TableCustomfieldsStudio;
}
declare enum TableRoundtripFieldsStudioEssenceTypeEnum {
    TRIP = "TRIP",
    ROUNDTRIP = "ROUNDTRIP"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Universal filter for table.
 */
interface TableRoundtripFilterStudio {
    [key: string]: any | any;
    type: TableFilterTypeStudio;
    column: TableRoundtripColumnTypeStudio;
    custom_column?: TableCustomfieldsColumnTypeStudio | null;
    datetime_range?: TableFilterDatetimeRangeStudio | null;
    int_range?: TableFilterIntRangeStudio | null;
    float_range?: TableFilterFloatRangeStudio | null;
    duration_range?: TableFilterDurationRangeStudio | null;
    bool_list?: TableFilterBoolListStudio | null;
    enum_list?: TableFilterEnumListStudio | null;
    string_list?: TableFilterStringListStudio | null;
    string_search?: TableFilterStringSearchStudio | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * A list of filters.
 */
interface TableRoundtripFilterListStudio {
    [key: string]: any | any;
    /**
     * A list of filters.
     */
    filters?: Array<TableRoundtripFilterStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Roundtrip (table).
 */
interface TableRoundtripStudio {
    [key: string]: any | any;
    fields: TableRoundtripFieldsStudio;
    /**
     * List of nested elements.
     */
    elements: Array<TableRoundtripFieldsStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Table list of roundtrips.
 */
interface TableRoundtripListStudio {
    [key: string]: any | any;
    /**
     * List of roundtrips.
     */
    essences: Array<TableRoundtripStudio>;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Data for calculating metrics. If entity keys are specified, metrics are calculated by them. If keys are not specified, metrics are calculated by all entities that fall under the filters.
 */
interface TableRoundtripMetricsFilterListStudio {
    [key: string]: any | any;
    /**
     * List of essence keys.
     */
    keys?: Array<string>;
    /**
     * A list of filters.
     */
    filters?: Array<TableRoundtripFilterStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * General metrics for selected roundtrips.
 */
interface TableRoundtripMetricsStudio {
    [key: string]: any | any;
    /**
     * Total values for fields of types int, double, duration.
     */
    fields_sum?: TableRoundtripFieldsStudio;
    /**
     * Average values for fields of types int, double, duration. Only fields that have a value are taken into account to calculate the average.
     */
    fields_avg?: TableRoundtripFieldsStudio;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Column name in the transport table:   * `ESSENCE_KEY` - entity key   * `ENABLED` - participation in calculation   * `PRISTINE` - data change flag
 */
declare enum TableTransportColumnTypeStudio {
    ESSENCE_KEY = "ESSENCE_KEY",
    ENABLED = "ENABLED",
    PRISTINE = "PRISTINE",
    AVAILABILITY_TIME = "AVAILABILITY_TIME",
    TRANSPORT_TYPE = "TRANSPORT_TYPE",
    TRIP_KEY = "TRIP_KEY",
    TRIP_NAME = "TRIP_NAME",
    LOCATION_KEYS = "LOCATION_KEYS",
    MASS = "MASS",
    VOLUME = "VOLUME",
    CAPACITY_A = "CAPACITY_A",
    CAPACITY_B = "CAPACITY_B",
    CAPACITY_C = "CAPACITY_C",
    TRANSPORT_FEATURES = "TRANSPORT_FEATURES",
    PERFORMER_RESTRICTIONS = "PERFORMER_RESTRICTIONS",
    TRIPS_COUNT = "TRIPS_COUNT",
    ROUNDTRIPS_COUNT = "ROUNDTRIPS_COUNT",
    SHIFTS_COUNT = "SHIFTS_COUNT",
    NAME = "NAME",
    ATTRIBUTES = "ATTRIBUTES",
    CUSTOMFIELDS = "CUSTOMFIELDS"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Transport and shift fields for table.
 */
interface TableTransportFieldsStudio {
    [key: string]: any | any;
    /**
     * Essence type.
     */
    essence_type?: TableTransportFieldsStudioEssenceTypeEnum;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    essence_key?: string | null;
    /**
     * Using essence for calculations.
     */
    enabled?: boolean;
    /**
     * A flag indicating whether changes to the entity have been made relative to the original data. `true` - means that the data is original and has not been changed.
     */
    readonly pristine?: boolean;
    availability_time?: TimeWindowStudio | null;
    transport_type?: TransportTypeStudio;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    trip_key?: string | null;
    /**
     * Name, information field.
     */
    trip_name?: string;
    /**
     * String table field.  For the parent entity, a comma-separated list of values is specified.
     */
    location_keys?: string | null;
    /**
     * Weight in kilograms (the sum of all boxes).
     */
    mass?: number;
    /**
     * Volume in cubic meters (the sum of all boxes).
     */
    volume?: number;
    /**
     * Additional capacity parameter (A) in alternative units (the sum of all boxes).
     */
    capacity_a?: number;
    /**
     * Additional capacity parameter (B) in alternative units (the sum of all boxes).
     */
    capacity_b?: number;
    /**
     * Additional capacity parameter (C) in alternative units (the sum of all boxes).
     */
    capacity_c?: number;
    /**
     * String table field.  For the parent entity, a comma-separated list of values is specified.
     */
    transport_features?: string | null;
    /**
     * String table field.  For the parent entity, a comma-separated list of values is specified.
     */
    performer_restrictions?: string | null;
    /**
     * The number of trips in which the transport participates (for a shift - 0 or 1).
     */
    trips_count?: number;
    /**
     * The number of roundtrips in which the transport participates.
     */
    roundtrips_count?: number;
    /**
     * The number of shifts for the performer.
     */
    shifts_count?: number;
    /**
     * Name, information field.
     */
    name?: string;
    /**
     * List of attributes as a string.
     */
    attributes?: string;
    customfields?: TableCustomfieldsStudio;
}
declare enum TableTransportFieldsStudioEssenceTypeEnum {
    TRANSPORT = "TRANSPORT",
    TRANSPORT_SHIFT = "TRANSPORT_SHIFT"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Universal filter for table.
 */
interface TableTransportFilterStudio {
    [key: string]: any | any;
    type: TableFilterTypeStudio;
    column: TableTransportColumnTypeStudio;
    custom_column?: TableCustomfieldsColumnTypeStudio | null;
    datetime_range?: TableFilterDatetimeRangeStudio | null;
    int_range?: TableFilterIntRangeStudio | null;
    float_range?: TableFilterFloatRangeStudio | null;
    duration_range?: TableFilterDurationRangeStudio | null;
    bool_list?: TableFilterBoolListStudio | null;
    enum_list?: TableFilterEnumListStudio | null;
    string_list?: TableFilterStringListStudio | null;
    string_search?: TableFilterStringSearchStudio | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * A list of filters.
 */
interface TableTransportFilterListStudio {
    [key: string]: any | any;
    /**
     * A list of filters.
     */
    filters?: Array<TableTransportFilterStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Transport (table).
 */
interface TableTransportStudio {
    [key: string]: any | any;
    fields: TableTransportFieldsStudio;
    /**
     * List of nested elements.
     */
    elements: Array<TableTransportFieldsStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Transports table.
 */
interface TableTransportListStudio {
    [key: string]: any | any;
    /**
     * Transports list.
     */
    essences: Array<TableTransportStudio>;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Data for calculating metrics. If entity keys are specified, metrics are calculated by them. If keys are not specified, metrics are calculated by all entities that fall under the filters.
 */
interface TableTransportMetricsFilterListStudio {
    [key: string]: any | any;
    /**
     * List of essence keys.
     */
    keys?: Array<string>;
    /**
     * A list of filters.
     */
    filters?: Array<TableTransportFilterStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * General metrics for selected transports.
 */
interface TableTransportMetricsStudio {
    [key: string]: any | any;
    /**
     * Total values for fields of types int, double, duration.
     */
    fields_sum?: TableTransportFieldsStudio;
    /**
     * Average values for fields of types int, double, duration. Only fields that have a value are taken into account to calculate the average.
     */
    fields_avg?: TableTransportFieldsStudio;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Column name in the table with trips:   * `ESSENCE_KEY` - entity key   * `ENABLED` - participation in the calculation   * `PRISTINE` - data change flag
 */
declare enum TableTripColumnTypeStudio {
    ESSENCE_KEY = "ESSENCE_KEY",
    ENABLED = "ENABLED",
    TRIP_VERIFIED = "TRIP_VERIFIED",
    PRISTINE = "PRISTINE",
    TRIP_NAME = "TRIP_NAME",
    PERFORMER_KEY = "PERFORMER_KEY",
    PERFORMER_SHIFT_KEY = "PERFORMER_SHIFT_KEY",
    TRANSPORT_KEY = "TRANSPORT_KEY",
    TRANSPORT_SHIFT_KEY = "TRANSPORT_SHIFT_KEY",
    COST = "COST",
    REWARD = "REWARD",
    PROFIT = "PROFIT",
    DRIVING_TIME = "DRIVING_TIME",
    WAITING_TIME = "WAITING_TIME",
    BREAK_TIME = "BREAK_TIME",
    REST_TIME = "REST_TIME",
    WORKING_TIME = "WORKING_TIME",
    ARRIVING_TIME = "ARRIVING_TIME",
    DEPARTURE_TIME = "DEPARTURE_TIME",
    TOTAL_TIME = "TOTAL_TIME",
    DISTANCE = "DISTANCE",
    TIME_WINDOW = "TIME_WINDOW",
    ORDERS_COUNT = "ORDERS_COUNT",
    PLAN_ORDERS_COUNT = "PLAN_ORDERS_COUNT",
    WAITLIST_ORDERS_COUNT = "WAITLIST_ORDERS_COUNT",
    STOPS_COUNT = "STOPS_COUNT",
    LOCATIONS_COUNT = "LOCATIONS_COUNT",
    CARGO_CAPACITY_RATIO_MASS = "CARGO_CAPACITY_RATIO_MASS",
    CARGO_CAPACITY_RATIO_VOLUME = "CARGO_CAPACITY_RATIO_VOLUME",
    CARGO_CAPACITY_RATIO_CAPACITY_A = "CARGO_CAPACITY_RATIO_CAPACITY_A",
    CARGO_CAPACITY_RATIO_CAPACITY_B = "CARGO_CAPACITY_RATIO_CAPACITY_B",
    CARGO_CAPACITY_RATIO_CAPACITY_C = "CARGO_CAPACITY_RATIO_CAPACITY_C",
    MAX_TRANSPORT_LOAD_MASS = "MAX_TRANSPORT_LOAD_MASS",
    MAX_TRANSPORT_LOAD_VOLUME = "MAX_TRANSPORT_LOAD_VOLUME",
    MAX_TRANSPORT_LOAD_CAPACITY_A = "MAX_TRANSPORT_LOAD_CAPACITY_A",
    MAX_TRANSPORT_LOAD_CAPACITY_B = "MAX_TRANSPORT_LOAD_CAPACITY_B",
    MAX_TRANSPORT_LOAD_CAPACITY_C = "MAX_TRANSPORT_LOAD_CAPACITY_C",
    AVERAGE_ROUNDTRIP_TIME = "AVERAGE_ROUNDTRIP_TIME",
    AVERAGE_ROUNDTRIP_DISTANCE = "AVERAGE_ROUNDTRIP_DISTANCE",
    ATTRIBUTES = "ATTRIBUTES",
    CUSTOMFIELDS = "CUSTOMFIELDS",
    TRIP_STATUS = "TRIP_STATUS",
    CREW_KEY = "CREW_KEY"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Current [trip status](#section/Description/Trip-status-model):   * `FREE` - the trip has no assigned crew, initial status, awaiting assignment by the operator   * `ASSIGNED` - the trip has a crew assigned, awaiting dispatch to the crew by the operator   * `SENT` - the trip has been sent to the crew, awaiting confirmation of receipt by the crew   * `RECEIVED` - the trip has been received by the crew, awaiting acceptance by the crew   * `CONFIRMED` - the trip has been accepted by the crew, awaiting work from the crew   * `REJECTED` - the trip has been rejected by the crew, awaiting assignment by the operator   * `EXECUTING` - the trip is in progress, awaiting completion by the crew   * `FINISHED` - the trip has been completed, final status   * `CANCELLED` - the trip has been canceled, final status
 */
declare enum TripStatusStudio {
    FREE = "FREE",
    ASSIGNED = "ASSIGNED",
    SENT = "SENT",
    RECEIVED = "RECEIVED",
    CONFIRMED = "CONFIRMED",
    REJECTED = "REJECTED",
    EXECUTING = "EXECUTING",
    FINISHED = "FINISHED",
    CANCELLED = "CANCELLED"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Trip\\stops fields for table.
 */
interface TableTripFieldsStudio {
    [key: string]: any | any;
    /**
     * Essence type.
     */
    essence_type?: TableTripFieldsStudioEssenceTypeEnum;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    essence_key?: string | null;
    /**
     * Using essence for calculations.
     */
    enabled?: boolean;
    /**
     * A flag indicating whether the entity has been manually verified.
     */
    readonly trip_verified?: boolean;
    /**
     * A flag indicating whether changes to the entity have been made relative to the original data. `true` - means that the data is original and has not been changed.
     */
    readonly pristine?: boolean;
    /**
     * Name, information field.
     */
    trip_name?: string;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    performer_key?: string | null;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    performer_shift_key?: string | null;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    transport_key?: string | null;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    transport_shift_key?: string | null;
    /**
     * Total cost calculated based on the performer\'s and transport tariffs.
     */
    cost?: number;
    /**
     * The total reward for orders fulfillment.
     */
    reward?: number;
    /**
     * The total profit is equal to the difference between the total reward (`reward`) and cost (`cost`).
     */
    profit?: number;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    driving_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    waiting_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    break_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    rest_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    working_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    arriving_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    departure_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    total_time?: string;
    /**
     * Distance in meters.
     */
    distance?: number;
    time_window?: TimeWindowStudio | null;
    /**
     * The total number of planned and assigned orders.
     */
    orders_count?: number;
    /**
     * The total number of planned orders.
     */
    plan_orders_count?: number;
    /**
     * The total number of assigned orders.
     */
    waitlist_orders_count?: number;
    /**
     * The total number of stops (non-unique locations).
     */
    stops_count?: number;
    /**
     * The total number of unique locations within one trip.
     */
    locations_count?: number;
    /**
     * The ratio of the total additive measures of the transported cargo to the total capacity of the boxes.
     */
    cargo_capacity_ratio_mass?: number;
    /**
     * The ratio of the total additive measures of the transported cargo to the total capacity of the boxes.
     */
    cargo_capacity_ratio_volume?: number;
    /**
     * The ratio of the total additive measures of the transported cargo to the total capacity of the boxes.
     */
    cargo_capacity_ratio_capacity_a?: number;
    /**
     * The ratio of the total additive measures of the transported cargo to the total capacity of the boxes.
     */
    cargo_capacity_ratio_capacity_b?: number;
    /**
     * The ratio of the total additive measures of the transported cargo to the total capacity of the boxes.
     */
    cargo_capacity_ratio_capacity_c?: number;
    /**
     * The ratio of the maximum load of boxes to the total capacity of boxes.
     */
    max_transport_load_mass?: number;
    /**
     * The ratio of the maximum load of boxes to the total capacity of boxes.
     */
    max_transport_load_volume?: number;
    /**
     * The ratio of the maximum load of boxes to the total capacity of boxes.
     */
    max_transport_load_capacity_a?: number;
    /**
     * The ratio of the maximum load of boxes to the total capacity of boxes.
     */
    max_transport_load_capacity_b?: number;
    /**
     * The ratio of the maximum load of boxes to the total capacity of boxes.
     */
    max_transport_load_capacity_c?: number;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    average_roundtrip_time?: string;
    /**
     * Average mileage per roundtrip is the ratio of the total mileage per trip to the number of roundtrips, in meters.
     */
    average_roundtrip_distance?: number;
    /**
     * List of attributes as a string.
     */
    attributes?: string;
    customfields?: TableCustomfieldsStudio;
    trip_status?: TripStatusStudio;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    crew_key?: string | null;
}
declare enum TableTripFieldsStudioEssenceTypeEnum {
    TRIP = "TRIP",
    ROUNDTRIP = "ROUNDTRIP"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Universal filter for table.
 */
interface TableTripFilterStudio {
    [key: string]: any | any;
    type: TableFilterTypeStudio;
    column: TableTripColumnTypeStudio;
    custom_column?: TableCustomfieldsColumnTypeStudio | null;
    datetime_range?: TableFilterDatetimeRangeStudio | null;
    int_range?: TableFilterIntRangeStudio | null;
    float_range?: TableFilterFloatRangeStudio | null;
    duration_range?: TableFilterDurationRangeStudio | null;
    bool_list?: TableFilterBoolListStudio | null;
    enum_list?: TableFilterEnumListStudio | null;
    string_list?: TableFilterStringListStudio | null;
    string_search?: TableFilterStringSearchStudio | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * A list of filters.
 */
interface TableTripFilterListStudio {
    [key: string]: any | any;
    /**
     * A list of filters.
     */
    filters?: Array<TableTripFilterStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Trip (table).
 */
interface TableTripStudio {
    [key: string]: any | any;
    fields: TableTripFieldsStudio;
    /**
     * List of nested elements.
     */
    elements: Array<TableTripFieldsStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Table list of trips or roundtrips.
 */
interface TableTripListStudio {
    [key: string]: any | any;
    /**
     * List of trips or roundtrips.
     */
    essences: Array<TableTripStudio>;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Data for calculating metrics. If entity keys are specified, metrics are calculated by them. If keys are not specified, metrics are calculated by all entities that fall under the filters.
 */
interface TableTripMetricsFilterListStudio {
    [key: string]: any | any;
    /**
     * List of essence keys.
     */
    keys?: Array<string>;
    /**
     * A list of filters.
     */
    filters?: Array<TableTripFilterStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * General metrics for selected trips.
 */
interface TableTripMetricsStudio {
    [key: string]: any | any;
    /**
     * Total values for fields of types int, double, duration.
     */
    fields_sum?: TableTripFieldsStudio;
    /**
     * Average values for fields of types int, double, duration. Only fields that have a value are taken into account to calculate the average.
     */
    fields_avg?: TableTripFieldsStudio;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Column name in the table with trip stops:   * `ESSENCE_KEY` - entity key
 */
declare enum TableTripStopColumnTypeStudio {
    ESSENCE_KEY = "ESSENCE_KEY",
    DRIVING_TIME = "DRIVING_TIME",
    WAITING_TIME = "WAITING_TIME",
    BREAK_TIME = "BREAK_TIME",
    REST_TIME = "REST_TIME",
    WORKING_TIME = "WORKING_TIME",
    ARRIVING_TIME = "ARRIVING_TIME",
    DEPARTURE_TIME = "DEPARTURE_TIME",
    TOTAL_TIME = "TOTAL_TIME",
    DISTANCE = "DISTANCE",
    TIME_WINDOW = "TIME_WINDOW",
    TRIP_KEY = "TRIP_KEY",
    ORDER_KEY = "ORDER_KEY",
    DEMAND_TYPE = "DEMAND_TYPE",
    LOCATION_NAME = "LOCATION_NAME",
    LOCATION_KEY = "LOCATION_KEY",
    ATTRIBUTES = "ATTRIBUTES",
    CUSTOMFIELDS = "CUSTOMFIELDS"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Tabular fields of stops for a single trip.
 */
interface TableTripStopFieldsStudio {
    [key: string]: any | any;
    /**
     * Essence type.
     */
    essence_type?: TableTripStopFieldsStudioEssenceTypeEnum;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    essence_key?: string | null;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    driving_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    waiting_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    break_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    rest_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    working_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    arriving_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    departure_time?: string;
    /**
     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).
     */
    total_time?: string;
    /**
     * Distance in meters.
     */
    distance?: number;
    time_window?: TimeWindowStudio | null;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    trip_key?: string | null;
    /**
     * String table field.  For the parent entity, a comma-separated list of values is specified.
     */
    order_key?: string | null;
    /**
     * String table field.  For the parent entity, a comma-separated list of values is specified.
     */
    demand_type?: string | null;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    location_key?: string | null;
    /**
     * Name, information field.
     */
    location_name?: string;
    /**
     * List of attributes as a string.
     */
    attributes?: string;
    /**
     * Custom table fields - LOCATION attributes are used.
     */
    customfields?: TableCustomfieldsStudio;
}
declare enum TableTripStopFieldsStudioEssenceTypeEnum {
    TRIP_STOP = "TRIP_STOP",
    DEMAND = "DEMAND"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Universal filter for table.
 */
interface TableTripStopFilterStudio {
    [key: string]: any | any;
    type: TableFilterTypeStudio;
    column: TableTripStopColumnTypeStudio;
    custom_column?: TableCustomfieldsColumnTypeStudio | null;
    datetime_range?: TableFilterDatetimeRangeStudio | null;
    int_range?: TableFilterIntRangeStudio | null;
    float_range?: TableFilterFloatRangeStudio | null;
    duration_range?: TableFilterDurationRangeStudio | null;
    bool_list?: TableFilterBoolListStudio | null;
    enum_list?: TableFilterEnumListStudio | null;
    string_list?: TableFilterStringListStudio | null;
    string_search?: TableFilterStringSearchStudio | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * A list of filters.
 */
interface TableTripStopFilterListStudio {
    [key: string]: any | any;
    /**
     * A list of filters.
     */
    filters?: Array<TableTripStopFilterStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Trip stop (table).
 */
interface TableTripStopStudio {
    [key: string]: any | any;
    fields: TableTripStopFieldsStudio;
    /**
     * List of nested elements.
     */
    elements: Array<TableTripStopFieldsStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Trip stops table.
 */
interface TableTripStopListStudio {
    [key: string]: any | any;
    /**
     * Trip stops list.
     */
    essences: Array<TableTripStopStudio>;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Track for map.
 */
interface TrackStudio {
    [key: string]: any | any;
    /**
     * An array of geographic points with time reference between which a path is built.
     */
    geotrack: Array<TrackpointStudio>;
    /**
     * Trip key, unique identifier.
     */
    trip_key: string;
    /**
     * Name, information field.
     */
    trip_name?: string;
    /**
     * Performer\'s key.
     */
    performer_key: string;
    /**
     * Performer shift\'s key, unique identifier.
     */
    performer_shift_key: string;
    /**
     * Transport\'s key.
     */
    transport_key: string;
    /**
     * Transport shift\'s key, unique identifier.
     */
    transport_shift_key: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Custom tracks for map.
 */
interface TrackListCustomStudio {
    [key: string]: any | any;
    /**
     * A list of tracks.
     */
    tracks: Array<TrackStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Tracks for map.
 */
interface TrackListStudio {
    [key: string]: any | any;
    /**
     * A list of tracks.
     */
    tracks: Array<TrackStudio>;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Track type:   * `LINE` - connecting stop points in a straight line   * `ROAD` - connecting stop points along roads   * `CUSTOM` - externally loaded custom tracks
 */
declare enum TrackTypeStudio {
    LINE = "LINE",
    ROAD = "ROAD",
    CUSTOM = "CUSTOM"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Compatibilities of [the transport with performers and locations](#section/Description/Compatibilities).
 */
interface TransportCompatibilitiesStudio {
    [key: string]: any | any;
    /**
     * A list of tags that define a property or requirement.
     */
    transport_features?: Array<string>;
    /**
     * List of feature tag lifetime.
     */
    transport_features_lifetimes?: Array<FeatureLifetimeStudio>;
    /**
     * A list of tags that define a property or requirement.
     */
    performer_restrictions?: Array<string>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Transport load limits.
 */
interface TransportLimitsStudio {
    [key: string]: any | any;
    /**
     * Limit of the number of transports\'s unique locations in one trip. If not specified or null, number of using boxes is not limited. The limit should not exceed the number of boxes.
     */
    max_boxes?: number | null;
    max_capacity?: CapacityStudio | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Paid mileage is an integral part of the tariff.
 */
interface TransportTariffConstraintStudio {
    [key: string]: any | any;
    /**
     * The length of the paid part of the way, in meters.
     */
    stage_length?: number;
    /**
     * The cost within the paid part of the way, monetary unit per meter.
     */
    cost_per_unit?: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * The tariff determines the cost of transport operation and restrictions on mileage per shift.
 */
interface TransportTariffStudio {
    [key: string]: any | any;
    /**
     * Price for using the shift, monetary unit.
     */
    cost_per_shift?: number;
    /**
     * List of components of the tariff.
     */
    constraints?: Array<TransportTariffConstraintStudio>;
    transportation_cost?: CapacityCostStudio | null;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Working shift of transport. Specifies the availability of transport for scheduling. The end of the shift resets the cargo remaining in the body after the execution of demands of the `DROP_FROM_BOX` and `PICKUP_TO_BOX` types.
 */
interface TransportShiftStudio {
    [key: string]: any | any;
    /**
     * Shift key, unique identifier.
     */
    key: string;
    /**
     * The shift time window in which the transport can move between locations and be used by the performer in work on locations.
     */
    availability_time: TimeWindowStudio;
    /**
     * Start location key.  If the key is not set, then the transport path starts on the first order.
     */
    start_location_key?: string | null;
    /**
     * Finish location key.  If the key is not set, then the transport path ends at the last order.
     */
    finish_location_key?: string | null;
    tariff?: TransportTariffStudio;
    /**
     * Name, information field.
     */
    name?: string;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Transport. Used by performer for relocating and cargo transfer.
 */
interface TransportStudio {
    [key: string]: any | any;
    /**
     * Transport key, unique identifier.
     */
    key: string;
    /**
     * List of working shifts of transport.
     */
    shifts: Array<TransportShiftStudio>;
    transport_type?: TransportTypeStudio;
    /**
     * A list of transport boxes that can accommodate the cargo.
     */
    boxes?: Array<BoxStudio>;
    compatibilities?: TransportCompatibilitiesStudio | null;
    limits?: TransportLimitsStudio | null;
    /**
     * Name, information field.
     */
    name?: string;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * [Flag of state](#section/Description/Trip-model) inside trip.
 */
declare enum TripStateFlagStudio {
    AROUND_LOCATION = "AROUND_LOCATION",
    INSIDE_LOCATION = "INSIDE_LOCATION",
    INSIDE_LOCATION_WINDOW = "INSIDE_LOCATION_WINDOW",
    INSIDE_WORKING_WINDOW = "INSIDE_WORKING_WINDOW",
    INSIDE_EVENT_HARD_WINDOW = "INSIDE_EVENT_HARD_WINDOW",
    INSIDE_EVENT_SOFT_WINDOW = "INSIDE_EVENT_SOFT_WINDOW",
    ON_DEMAND = "ON_DEMAND",
    WAITING = "WAITING",
    RELOCATING = "RELOCATING",
    BREAK = "BREAK",
    REST = "REST",
    DEPARTURE = "DEPARTURE",
    ARRIVAL = "ARRIVAL",
    DURING_ROUNDTRIP = "DURING_ROUNDTRIP"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Trip state.
 */
interface TripStateStudio {
    [key: string]: any | any;
    /**
     * Start time according to the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
     */
    time: string;
    /**
     * Key of the order with which an action is taken.
     */
    order_key?: string | null;
    /**
     * Key of the demand with which an action is taken.
     */
    demand_key?: string | null;
    /**
     * Key of the event at which an action is taken.
     */
    event_key?: string | null;
    /**
     * Key of the location at which an action is taken.
     */
    location_key?: string | null;
    /**
     * Key of the roundtrip at which an action is taken.
     */
    roundtrip_key?: string | null;
    /**
     * List of flags, describing current state.  Values of flags responsible for geographic location (there can be several flags at the same time):   * `AROUND_LOCATION` - the performer is near the location - in the process of parking or leaving it.   * `INSIDE_LOCATION` - the performer is at the location.  Values of flags responsible for being in time windows (there can be several flags at the same time):   * `INSIDE_WORKING_WINDOW` - the performer is inside the working time window.   * `INSIDE_LOCATION_WINDOW` - the performer is inside the working time of the location.   * `INSIDE_EVENT_HARD_WINDOW` - the performer is inside the hard time window.   * `INSIDE_EVENT_SOFT_WINDOW` - the performer is inside the soft time window.  Values of flags responsible for actions (there can be only one flag at a time):   * `ON_DEMAND` - the performer has started working on the request.   * `WAITING` - the performer has started waiting.   * `RELOCATING` - the performer has started moving to the next stop.   * `BREAK` - the performer has started a break.   * `REST` - the performer has started a long rest.   * `ARRIVAL` - the performer has started parking.   * `DEPARTURE` - the performer has finished leaving the parking lot.  The values of the flags responsible for the logical state:   * `DURING_ROUNDTRIP` - the performer is making a roundtrip.
     */
    flags: Array<TripStateFlagStudio>;
    /**
     * List of actions with cargo in transport at the beginning of the state.
     */
    cargo_actions?: Array<CargoActionStudio>;
    /**
     * Cumulative distance from the start of the trip, in meters.
     */
    distance?: number;
    /**
     * Cumulative cost from the start of the trip, calculated based on the performers\' and transport tariffs.
     */
    cost?: number;
    /**
     * Cumulative reward from the start of the trip for orders fulfillment.
     */
    reward?: number;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * A trip is a set of works planned to be performed by a specific performer on a specific transport, expressed through a [change in the states](#section/Description/Trip-model) of the performer.
 */
interface TripStudio {
    [key: string]: any | any;
    /**
     * Unique trip identifier.
     */
    key: string;
    performer: AssignedPerformerStudio;
    transport: AssignedTransportStudio;
    /**
     * List of performer\'s states.
     */
    states: Array<TripStateStudio>;
    /**
     * List of order keys assigned to the performer, but not scheduled for a specific time and not taken into account in the transport load.
     */
    waitlist?: Array<string>;
    /**
     * Name, information field.
     */
    name?: string;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Error 400 details.
 */
interface Universal400WithErrorsAndWarningsStudio {
    [key: string]: any | any;
    tracedata: TracedataStudio;
    /**
     * Error message.
     */
    message?: string | null;
    /**
     * List of syntax errors - data does not match the schema.
     */
    schema_errors?: Array<SchemaErrorStudio>;
    /**
     * List with fatal errors.
     */
    logical_errors?: Array<EntityErrorStudio>;
    /**
     * Warning list.
     */
    warnings?: Array<EntityWarningStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * VRt.Universal JSON format. A general list of data and settings that combines all data for planning, replaning and actualization.
 */
interface UniversalDataStudio {
    [key: string]: any | any;
    /**
     * List of locations used for orders and shifts.
     */
    locations?: Array<LocationStudio>;
    /**
     * List of orders that need to be completed.
     */
    orders?: Array<OrderStudio>;
    /**
     * Available performers list. The performer fulfills orders using transport.
     */
    performers?: Array<PerformerStudio>;
    /**
     * Available transports list. Transport is used by the trip performer to fulfill orders.
     */
    transports?: Array<TransportStudio>;
    /**
     * Assignments list.
     */
    hardlinks?: Array<HardlinkStudio>;
    /**
     * Trip list. A trip is a set of works planned to be performed by a specific performer on a specific transport, expressed through a [change in the states](#section/Description/Trip-model) of the performer.
     */
    trips?: Array<TripStudio>;
    /**
     * Trip list. A fact is an event that has occurred that affects further trip operations.
     */
    facts?: Array<FactStudio>;
    statistics?: PlanStatisticsStudio | null;
    /**
     * List of matrices of times and distances for each type of transport that are indicated in the data. The matrix should describe all locations for each type of transport from the data. When specifying an external routing matrix `external_routing`, the `plan_settings.geo_settings` parameters are not taken into account.
     */
    external_routing?: Array<RoutingTransportMatrixStudio>;
    plan_settings?: PlanSettingsStudio;
    replan_settings?: ReplanSettingsStudio;
    actualize_settings?: ActualizeSettingsStudio;
    /**
     * The name of the dataset. A technical field that does not affect calculation.
     */
    dataset_name?: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
/**
 * Service version.
 */
interface VersionResultStudio {
    [key: string]: any | any;
    /**
     * Product version. Within a single version, compatibility of common data structures between services is guaranteed. A version change indicates changes that are incompatible with previous versions of the product (and all services).
     */
    major: number;
    /**
     * Minor version of the service. A version change indicates new functionality. The update is backward compatible with the major version of the service.
     */
    minor: number;
    /**
     * Build version.       Contains backwards compatible bug fixes and docs update.
     */
    build: string;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Web Fact.
 */
interface WebFactStudio {
    [key: string]: any | any;
    fact: FactStudio;
    fields?: TableFactFieldsStudio;
    /**
     * A list of linked essences.
     */
    linked_essences?: Array<LinkedEssenceStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Web Hardlink.
 */
interface WebHardlinkStudio {
    [key: string]: any | any;
    hardlink: HardlinkStudio;
    fields?: TableHardlinkFieldsStudio;
    /**
     * A list of linked essences.
     */
    linked_essences?: Array<LinkedEssenceStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Geopoint for map.
 */
interface WebLocationGeopointStudio {
    [key: string]: any | any;
    geopoint: GeopointStudio;
    /**
     * Location key, unique identifier.
     */
    location_key: string;
    /**
     * Name, information field.
     */
    name?: string;
    /**
     * The name of the icon. Obtained from the value of the location attribute with the key `ICON_NAME`.
     */
    icon_name?: string | null;
    /**
     * Flag indicating the presence of links to the location.
     */
    linked: boolean;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Geopoints for map.
 */
interface WebLocationGeopointListStudio {
    [key: string]: any | any;
    /**
     * A list of points.
     */
    geopoints: Array<WebLocationGeopointStudio>;
    /**
     * Counters by list of entities.
     */
    counters: TableListCountersStudio;
    /**
     * Counters by list of points.
     */
    geopoints_counters: TableListCountersDetailStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Web location.
 */
interface WebLocationStudio {
    [key: string]: any | any;
    location: LocationStudio;
    location_statistics?: LocationStatisticsStudio | null;
    fields?: TableLocationFieldsStudio;
    /**
     * A list of linked essences.
     */
    linked_essences?: Array<LinkedEssenceStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Geopoint for map.
 */
interface WebOrderGeopointStudio {
    [key: string]: any | any;
    geopoint: GeopointStudio;
    /**
     * Key of the order with which an action is taken.
     */
    order_key: string;
    /**
     * Key of the demand with which an action is taken.
     */
    demand_key: string;
    /**
     * Key of the event at which an action is taken.
     */
    event_key: string;
    demand_type: DemandTypeStudio;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    trip_key?: string | null;
    /**
     * Name, information field.
     */
    trip_name?: string;
    /**
     * Sequence number of the stop in the trip.
     */
    stop_number?: number;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Geopoints for map.
 */
interface WebOrderGeopointListStudio {
    [key: string]: any | any;
    /**
     * A list of points.
     */
    geopoints: Array<WebOrderGeopointStudio>;
    /**
     * Counters by list of entities.
     */
    counters: TableListCountersStudio;
    /**
     * Counters by list of points.
     */
    geopoints_counters: TableListCountersDetailStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Web Order.
 */
interface WebOrderStudio {
    [key: string]: any | any;
    order: OrderStudio;
    fields?: TableOrderFieldsStudio;
    /**
     * A list of linked essences.
     */
    linked_essences?: Array<LinkedEssenceStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Geopoint for map.
 */
interface WebPerformerGeopointStudio {
    [key: string]: any | any;
    geopoint: GeopointStudio;
    /**
     * Performer\'s key.
     */
    performer_key: string;
    /**
     * Shift key, unique identifier.
     */
    shift_key: string;
    /**
     * The point type.
     */
    point_type: WebPerformerGeopointStudioPointTypeEnum;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    trip_key?: string | null;
    /**
     * Name, information field.
     */
    trip_name?: string;
    /**
     * Sequence number of the stop in the trip.
     */
    stop_number?: number;
}
declare enum WebPerformerGeopointStudioPointTypeEnum {
    START = "START",
    FINISH = "FINISH"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Geopoints for map.
 */
interface WebPerformerGeopointListStudio {
    [key: string]: any | any;
    /**
     * A list of points.
     */
    geopoints: Array<WebPerformerGeopointStudio>;
    /**
     * Counters by list of entities.
     */
    counters: TableListCountersStudio;
    /**
     * Counters by list of points.
     */
    geopoints_counters: TableListCountersDetailStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Web Performer.
 */
interface WebPerformerStudio {
    [key: string]: any | any;
    performer: PerformerStudio;
    fields?: TablePerformerFieldsStudio;
    /**
     * A list of linked essences.
     */
    linked_essences?: Array<LinkedEssenceStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Geopoint for map.
 */
interface WebTransportGeopointStudio {
    [key: string]: any | any;
    geopoint: GeopointStudio;
    /**
     * Transport\'s key.
     */
    transport_key: string;
    /**
     * Shift key, unique identifier.
     */
    shift_key: string;
    /**
     * The point type.
     */
    point_type: WebTransportGeopointStudioPointTypeEnum;
    /**
     * Essence key, unique identifier, may be `null`.
     */
    trip_key?: string | null;
    /**
     * Name, information field.
     */
    trip_name?: string;
    /**
     * Sequence number of the stop in the trip.
     */
    stop_number?: number;
}
declare enum WebTransportGeopointStudioPointTypeEnum {
    START = "START",
    FINISH = "FINISH"
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Geopoints for map.
 */
interface WebTransportGeopointListStudio {
    [key: string]: any | any;
    /**
     * A list of points.
     */
    geopoints: Array<WebTransportGeopointStudio>;
    /**
     * Counters by list of entities.
     */
    counters: TableListCountersStudio;
    /**
     * Counters by list of points.
     */
    geopoints_counters: TableListCountersDetailStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Web Transport.
 */
interface WebTransportStudio {
    [key: string]: any | any;
    transport: TransportStudio;
    fields?: TableTransportFieldsStudio;
    /**
     * A list of linked essences.
     */
    linked_essences?: Array<LinkedEssenceStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Demand for chart.
 */
interface WebTripChartDemandStudio {
    [key: string]: any | any;
    /**
     * Demand key.
     */
    demand_key: string;
    demand_type: DemandTypeStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Trip for chart.
 */
interface WebTripChartStudio {
    [key: string]: any | any;
    trip: TripStudio;
    /**
     * A list of demands info.
     */
    chart_demands: Array<WebTripChartDemandStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Trips for chart.
 */
interface WebTripChartListStudio {
    [key: string]: any | any;
    /**
     * Data for chart.
     */
    charts: Array<WebTripChartStudio>;
    counters: TableListCountersStudio;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

/**
 * Web Trip.
 */
interface WebTripStudio {
    [key: string]: any | any;
    trip: TripStudio;
    trip_statistics: TripStatisticsStudio;
    fields?: TableTripFieldsStudio;
    /**
     * A list of linked essences.
     */
    linked_essences?: Array<LinkedEssenceStudio>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

interface CreateCustomfieldsSettingsRequestParams {
    settingsKey: string;
    customfieldsSettingsStudio: CustomfieldsSettingsStudio;
}
interface DeleteCustomfieldsSettingsRequestParams {
    settingsKey: string;
}
interface ReadCustomfieldsSettingsRequestParams {
    settingsKey: string;
}
interface SetCustomfieldsSettingsActiveKeyRequestParams {
    body: string;
}
interface UpdateCustomfieldsSettingsRequestParams {
    settingsKey: string;
    customfieldsSettingsStudio: CustomfieldsSettingsStudio;
}
interface CustomFieldsServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     * Create fields settings
     * Create custom fields settings.
* @param requestParameters
     */
    createCustomfieldsSettings(requestParameters: CreateCustomfieldsSettingsRequestParams, extraHttpRequestParams?: any): Observable<CustomfieldsSettingsStudio>;
    /**
     * Delete fields settings
     * Delete custom fields settings.
* @param requestParameters
     */
    deleteCustomfieldsSettings(requestParameters: DeleteCustomfieldsSettingsRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Reading fields settings list
     * Reading the list of custom field settings keys.
*/
    listCustomfieldsSettings(extraHttpRequestParams?: any): Observable<SettingsKeyListStudio>;
    /**
     * Reading fields settings
     * Reading custom field settings.
* @param requestParameters
     */
    readCustomfieldsSettings(requestParameters: ReadCustomfieldsSettingsRequestParams, extraHttpRequestParams?: any): Observable<CustomfieldsSettingsStudio>;
    /**
     * Setting the active customfields key
     * Setting the active customfields key.
* @param requestParameters
     */
    setCustomfieldsSettingsActiveKey(requestParameters: SetCustomfieldsSettingsActiveKeyRequestParams, extraHttpRequestParams?: any): Observable<SettingsKeyListStudio>;
    /**
     * Update fields settings
     * Update custom fields settings.
* @param requestParameters
     */
    updateCustomfieldsSettings(requestParameters: UpdateCustomfieldsSettingsRequestParams, extraHttpRequestParams?: any): Observable<CustomfieldsSettingsStudio>;
}

declare class CustomFieldsService extends BaseService implements CustomFieldsServiceInterface {
    protected httpClient: HttpClient;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration?: Configuration);
    /**
     * Create fields settings
     * Create custom fields settings.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createCustomfieldsSettings(requestParameters: CreateCustomfieldsSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<CustomfieldsSettingsStudio>;
    createCustomfieldsSettings(requestParameters: CreateCustomfieldsSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<CustomfieldsSettingsStudio>>;
    createCustomfieldsSettings(requestParameters: CreateCustomfieldsSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<CustomfieldsSettingsStudio>>;
    /**
     * Delete fields settings
     * Delete custom fields settings.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteCustomfieldsSettings(requestParameters: DeleteCustomfieldsSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteCustomfieldsSettings(requestParameters: DeleteCustomfieldsSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteCustomfieldsSettings(requestParameters: DeleteCustomfieldsSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Reading fields settings list
     * Reading the list of custom field settings keys.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    listCustomfieldsSettings(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<SettingsKeyListStudio>;
    listCustomfieldsSettings(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<SettingsKeyListStudio>>;
    listCustomfieldsSettings(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<SettingsKeyListStudio>>;
    /**
     * Reading fields settings
     * Reading custom field settings.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readCustomfieldsSettings(requestParameters: ReadCustomfieldsSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<CustomfieldsSettingsStudio>;
    readCustomfieldsSettings(requestParameters: ReadCustomfieldsSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<CustomfieldsSettingsStudio>>;
    readCustomfieldsSettings(requestParameters: ReadCustomfieldsSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<CustomfieldsSettingsStudio>>;
    /**
     * Setting the active customfields key
     * Setting the active customfields key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    setCustomfieldsSettingsActiveKey(requestParameters: SetCustomfieldsSettingsActiveKeyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<SettingsKeyListStudio>;
    setCustomfieldsSettingsActiveKey(requestParameters: SetCustomfieldsSettingsActiveKeyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<SettingsKeyListStudio>>;
    setCustomfieldsSettingsActiveKey(requestParameters: SetCustomfieldsSettingsActiveKeyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<SettingsKeyListStudio>>;
    /**
     * Update fields settings
     * Update custom fields settings.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updateCustomfieldsSettings(requestParameters: UpdateCustomfieldsSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<CustomfieldsSettingsStudio>;
    updateCustomfieldsSettings(requestParameters: UpdateCustomfieldsSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<CustomfieldsSettingsStudio>>;
    updateCustomfieldsSettings(requestParameters: UpdateCustomfieldsSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<CustomfieldsSettingsStudio>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<CustomFieldsService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<CustomFieldsService>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

interface CreateCustomiconsSettingsRequestParams {
    settingsKey: string;
    body: string;
}
interface DeleteCustomiconsSettingsRequestParams {
    settingsKey: string;
}
interface ReadCustomiconsSettingsRequestParams {
    settingsKey: string;
}
interface SetCustomiconsSettingsActiveKeyRequestParams {
    body: string;
}
interface UpdateCustomiconsSettingsRequestParams {
    settingsKey: string;
    body: string;
}
interface CustomIconsServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     * Update icons settings
     * Create custom icons settings.
* @param requestParameters
     */
    createCustomiconsSettings(requestParameters: CreateCustomiconsSettingsRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Delete icons settings
     * Delete custom icons settings.
* @param requestParameters
     */
    deleteCustomiconsSettings(requestParameters: DeleteCustomiconsSettingsRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Reading icons settings list
     * Reading the list of custom field settings keys.
*/
    listCustomiconsSettings(extraHttpRequestParams?: any): Observable<SettingsKeyListStudio>;
    /**
     * Reading icons settings
     * Reading custom field settings.
* @param requestParameters
     */
    readCustomiconsSettings(requestParameters: ReadCustomiconsSettingsRequestParams, extraHttpRequestParams?: any): Observable<string>;
    /**
     * Setting the active customicons key
     * Setting the active customicons key.
* @param requestParameters
     */
    setCustomiconsSettingsActiveKey(requestParameters: SetCustomiconsSettingsActiveKeyRequestParams, extraHttpRequestParams?: any): Observable<SettingsKeyListStudio>;
    /**
     * Update icons settings
     * Update custom icons settings.
* @param requestParameters
     */
    updateCustomiconsSettings(requestParameters: UpdateCustomiconsSettingsRequestParams, extraHttpRequestParams?: any): Observable<{}>;
}

declare class CustomIconsService extends BaseService implements CustomIconsServiceInterface {
    protected httpClient: HttpClient;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration?: Configuration);
    /**
     * Update icons settings
     * Create custom icons settings.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createCustomiconsSettings(requestParameters: CreateCustomiconsSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    createCustomiconsSettings(requestParameters: CreateCustomiconsSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    createCustomiconsSettings(requestParameters: CreateCustomiconsSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Delete icons settings
     * Delete custom icons settings.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteCustomiconsSettings(requestParameters: DeleteCustomiconsSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteCustomiconsSettings(requestParameters: DeleteCustomiconsSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteCustomiconsSettings(requestParameters: DeleteCustomiconsSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Reading icons settings list
     * Reading the list of custom field settings keys.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    listCustomiconsSettings(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<SettingsKeyListStudio>;
    listCustomiconsSettings(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<SettingsKeyListStudio>>;
    listCustomiconsSettings(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<SettingsKeyListStudio>>;
    /**
     * Reading icons settings
     * Reading custom field settings.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readCustomiconsSettings(requestParameters: ReadCustomiconsSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream' | 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<string>;
    readCustomiconsSettings(requestParameters: ReadCustomiconsSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream' | 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<string>>;
    readCustomiconsSettings(requestParameters: ReadCustomiconsSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream' | 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<string>>;
    /**
     * Setting the active customicons key
     * Setting the active customicons key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    setCustomiconsSettingsActiveKey(requestParameters: SetCustomiconsSettingsActiveKeyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<SettingsKeyListStudio>;
    setCustomiconsSettingsActiveKey(requestParameters: SetCustomiconsSettingsActiveKeyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<SettingsKeyListStudio>>;
    setCustomiconsSettingsActiveKey(requestParameters: SetCustomiconsSettingsActiveKeyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<SettingsKeyListStudio>>;
    /**
     * Update icons settings
     * Update custom icons settings.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updateCustomiconsSettings(requestParameters: UpdateCustomiconsSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    updateCustomiconsSettings(requestParameters: UpdateCustomiconsSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    updateCustomiconsSettings(requestParameters: UpdateCustomiconsSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<CustomIconsService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<CustomIconsService>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

interface CreateExperimentRequestParams {
    fileSpecificationStudio: FileSpecificationStudio;
}
interface DeleteExperimentRequestParams {
    fileKey: string;
}
interface DuplicateExperimentRequestParams {
    fileKey: string;
    fileSpecificationStudio: FileSpecificationStudio;
}
interface ExportJsonRequestParams {
    fileKey: string;
}
interface ExportXlsxRequestParams {
    fileKey: string;
    timezone?: number;
}
interface GlobalSearchRequestParams {
    filter: string;
    offset?: number;
    limit?: number;
    sortField?: TableExperimentColumnTypeStudio;
    sortDirection?: 'ASC' | 'DESC';
}
interface ImportJsonRequestParams {
    fileKey: string;
    universalDataStudio: UniversalDataStudio;
}
interface ImportJsonTracedataRequestParams {
    fileKey: string;
    source: ImportSourceStudio;
    processCode: string;
    sample: ImportSampleStudio;
}
interface ImportJsonUrlRequestParams {
    fileKey: string;
    url: string;
}
interface ImportXlsxRequestParams {
    fileKey: string;
    body: string;
}
interface ReadExperimentRequestParams {
    fileKey: string;
}
interface ReadExperimentCalculationHistoryRequestParams {
    fileKey: string;
}
interface ReadExperimentNeighborsRequestParams {
    fileKey: string;
    sortField?: TableExperimentColumnTypeStudio;
    sortDirection?: 'ASC' | 'DESC';
}
interface ReadExperimentPathRequestParams {
    fileKey: string;
}
interface ReadFolderRequestParams {
    folderKey?: string;
    filter?: string;
    offset?: number;
    limit?: number;
    sortField?: TableExperimentColumnTypeStudio;
    sortDirection?: 'ASC' | 'DESC';
}
interface RunExperimentCalculationRequestParams {
    fileKey: string;
    processName: BasicProcessStudio;
}
interface RunExperimentRecalculateStatsRequestParams {
    fileKey: string;
}
interface RunExperimentRecalculateTracksRequestParams {
    fileKey: string;
    tracksFullSegments?: boolean;
}
interface RunExperimentRefineRequestParams {
    fileKey: string;
    processName: BasicProcessStudio;
    removeLocations?: boolean;
}
interface RunExperimentValidationRequestParams {
    fileKey: string;
    processName: BasicProcessStudio;
}
interface StopExperimentCalculationRequestParams {
    fileKey: string;
    processName: BasicProcessStudio;
}
interface UpdateExperimentRequestParams {
    fileKey: string;
    fileSpecificationStudio: FileSpecificationStudio;
}
interface UpdateExperimentIndicatorsRequestParams {
    fileKey: string;
    requestBody: Array<string>;
}
interface UpdateExperimentSettingsRequestParams {
    fileKey: string;
    experimentSettingsStudio: ExperimentSettingsStudio;
}
interface ExperimentsServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     * Create experiment
     * Create new experiment.
* @param requestParameters
     */
    createExperiment(requestParameters: CreateExperimentRequestParams, extraHttpRequestParams?: any): Observable<string>;
    /**
     * Experiment removal
     * Experiment removal by key.
* @param requestParameters
     */
    deleteExperiment(requestParameters: DeleteExperimentRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Experiment duplicate
     * Experiment duplicate.
* @param requestParameters
     */
    duplicateExperiment(requestParameters: DuplicateExperimentRequestParams, extraHttpRequestParams?: any): Observable<string>;
    /**
     * Export (JSON)
     * Export data to VRt.Universal JSON file.
* @param requestParameters
     */
    exportJson(requestParameters: ExportJsonRequestParams, extraHttpRequestParams?: any): Observable<UniversalDataStudio>;
    /**
     * Export (XLSX)
     * Export (XLSX).
* @param requestParameters
     */
    exportXlsx(requestParameters: ExportXlsxRequestParams, extraHttpRequestParams?: any): Observable<string>;
    /**
     * Experiment search
     * Experiment global search.
* @param requestParameters
     */
    globalSearch(requestParameters: GlobalSearchRequestParams, extraHttpRequestParams?: any): Observable<ExperimentListStudio>;
    /**
     * Import (JSON)
     * Importing new data from VRt.Universal JSON file. If the entity is already present (determined by its key), it is updated. If not, a new one is created.
* @param requestParameters
     */
    importJson(requestParameters: ImportJsonRequestParams, extraHttpRequestParams?: any): Observable<ExperimentStudio>;
    /**
     * Import by tracedata
     * Importing new data from a VRt.Universal JSON file by &#x60;tracedata.process_code&#x60;. If the entity is already present in the experiment (determined by its key), it is updated, if not, a new one is created.
* @param requestParameters
     */
    importJsonTracedata(requestParameters: ImportJsonTracedataRequestParams, extraHttpRequestParams?: any): Observable<ExperimentStudio>;
    /**
     * Import by URL (JSON)
     * Importing new data from a VRt.Universal JSON file by url. If the entity is already present in the experiment (determined by its key), it is updated, if not, a new one is created.
* @param requestParameters
     */
    importJsonUrl(requestParameters: ImportJsonUrlRequestParams, extraHttpRequestParams?: any): Observable<ExperimentStudio>;
    /**
     * Import (XLSX)
     * Importing new data from an XLSX file. If an entity is already present (determined by its key), it is updated. If not, a new one is created. The data time zone is taken from the XLSX file.
* @param requestParameters
     */
    importXlsx(requestParameters: ImportXlsxRequestParams, extraHttpRequestParams?: any): Observable<ExperimentStudio>;
    /**
     * Reading experiment
     * Getting experiment information by key.
* @param requestParameters
     */
    readExperiment(requestParameters: ReadExperimentRequestParams, extraHttpRequestParams?: any): Observable<ExperimentStudio>;
    /**
     * Calculation history
     * Read calculation history.
* @param requestParameters
     */
    readExperimentCalculationHistory(requestParameters: ReadExperimentCalculationHistoryRequestParams, extraHttpRequestParams?: any): Observable<Array<CalculationHistoryElementStudio>>;
    /**
     * Experiment neighbors
     * Experiment neighbors.
* @param requestParameters
     */
    readExperimentNeighbors(requestParameters: ReadExperimentNeighborsRequestParams, extraHttpRequestParams?: any): Observable<ExperimentNeighborsStudio>;
    /**
     * Experiment path
     * Experiment path.
* @param requestParameters
     */
    readExperimentPath(requestParameters: ReadExperimentPathRequestParams, extraHttpRequestParams?: any): Observable<FilesystemPathStudio>;
    /**
     * Experiment list (table)
     * Getting a experiments list.
* @param requestParameters
     */
    readFolder(requestParameters: ReadFolderRequestParams, extraHttpRequestParams?: any): Observable<ExperimentListStudio>;
    /**
     * Run calculation
     * Experiment calculation run.
* @param requestParameters
     */
    runExperimentCalculation(requestParameters: RunExperimentCalculationRequestParams, extraHttpRequestParams?: any): Observable<ExperimentStudio>;
    /**
     * Recalculate stats
     * Starting recalculation of experiment stats.
* @param requestParameters
     */
    runExperimentRecalculateStats(requestParameters: RunExperimentRecalculateStatsRequestParams, extraHttpRequestParams?: any): Observable<ExperimentStudio>;
    /**
     * Recalculate tracks
     * Starting recalculation of &#x60;ROAD&#x60; experiment tracks.
* @param requestParameters
     */
    runExperimentRecalculateTracks(requestParameters: RunExperimentRecalculateTracksRequestParams, extraHttpRequestParams?: any): Observable<ExperimentStudio>;
    /**
     * Run refine
     * Experiment refine run.
* @param requestParameters
     */
    runExperimentRefine(requestParameters: RunExperimentRefineRequestParams, extraHttpRequestParams?: any): Observable<ExperimentStudio>;
    /**
     * Run validation
     * Experiment validation run.
* @param requestParameters
     */
    runExperimentValidation(requestParameters: RunExperimentValidationRequestParams, extraHttpRequestParams?: any): Observable<ExperimentStudio>;
    /**
     * Calculation stop
     * Calculation stop.
* @param requestParameters
     */
    stopExperimentCalculation(requestParameters: StopExperimentCalculationRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Experiment update
     * Rename \\ move experiment.
* @param requestParameters
     */
    updateExperiment(requestParameters: UpdateExperimentRequestParams, extraHttpRequestParams?: any): Observable<ExperimentStudio>;
    /**
     * Indicators update
     * Updating the experiment indicators.
* @param requestParameters
     */
    updateExperimentIndicators(requestParameters: UpdateExperimentIndicatorsRequestParams, extraHttpRequestParams?: any): Observable<ExperimentStudio>;
    /**
     * Settings update
     * Experiment settings update.
* @param requestParameters
     */
    updateExperimentSettings(requestParameters: UpdateExperimentSettingsRequestParams, extraHttpRequestParams?: any): Observable<ExperimentStudio>;
}

declare class ExperimentsService extends BaseService implements ExperimentsServiceInterface {
    protected httpClient: HttpClient;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration?: Configuration);
    /**
     * Create experiment
     * Create new experiment.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createExperiment(requestParameters: CreateExperimentRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<string>;
    createExperiment(requestParameters: CreateExperimentRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<string>>;
    createExperiment(requestParameters: CreateExperimentRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<string>>;
    /**
     * Experiment removal
     * Experiment removal by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteExperiment(requestParameters: DeleteExperimentRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteExperiment(requestParameters: DeleteExperimentRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteExperiment(requestParameters: DeleteExperimentRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Experiment duplicate
     * Experiment duplicate.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    duplicateExperiment(requestParameters: DuplicateExperimentRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<string>;
    duplicateExperiment(requestParameters: DuplicateExperimentRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<string>>;
    duplicateExperiment(requestParameters: DuplicateExperimentRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<string>>;
    /**
     * Export (JSON)
     * Export data to VRt.Universal JSON file.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    exportJson(requestParameters: ExportJsonRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<UniversalDataStudio>;
    exportJson(requestParameters: ExportJsonRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<UniversalDataStudio>>;
    exportJson(requestParameters: ExportJsonRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<UniversalDataStudio>>;
    /**
     * Export (XLSX)
     * Export (XLSX).
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    exportXlsx(requestParameters: ExportXlsxRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream' | 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<string>;
    exportXlsx(requestParameters: ExportXlsxRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream' | 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<string>>;
    exportXlsx(requestParameters: ExportXlsxRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream' | 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<string>>;
    /**
     * Experiment search
     * Experiment global search.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    globalSearch(requestParameters: GlobalSearchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ExperimentListStudio>;
    globalSearch(requestParameters: GlobalSearchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ExperimentListStudio>>;
    globalSearch(requestParameters: GlobalSearchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ExperimentListStudio>>;
    /**
     * Import (JSON)
     * Importing new data from VRt.Universal JSON file. If the entity is already present (determined by its key), it is updated. If not, a new one is created.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    importJson(requestParameters: ImportJsonRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ExperimentStudio>;
    importJson(requestParameters: ImportJsonRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ExperimentStudio>>;
    importJson(requestParameters: ImportJsonRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ExperimentStudio>>;
    /**
     * Import by tracedata
     * Importing new data from a VRt.Universal JSON file by &#x60;tracedata.process_code&#x60;. If the entity is already present in the experiment (determined by its key), it is updated, if not, a new one is created.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    importJsonTracedata(requestParameters: ImportJsonTracedataRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ExperimentStudio>;
    importJsonTracedata(requestParameters: ImportJsonTracedataRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ExperimentStudio>>;
    importJsonTracedata(requestParameters: ImportJsonTracedataRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ExperimentStudio>>;
    /**
     * Import by URL (JSON)
     * Importing new data from a VRt.Universal JSON file by url. If the entity is already present in the experiment (determined by its key), it is updated, if not, a new one is created.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    importJsonUrl(requestParameters: ImportJsonUrlRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ExperimentStudio>;
    importJsonUrl(requestParameters: ImportJsonUrlRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ExperimentStudio>>;
    importJsonUrl(requestParameters: ImportJsonUrlRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ExperimentStudio>>;
    /**
     * Import (XLSX)
     * Importing new data from an XLSX file. If an entity is already present (determined by its key), it is updated. If not, a new one is created. The data time zone is taken from the XLSX file.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    importXlsx(requestParameters: ImportXlsxRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ExperimentStudio>;
    importXlsx(requestParameters: ImportXlsxRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ExperimentStudio>>;
    importXlsx(requestParameters: ImportXlsxRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ExperimentStudio>>;
    /**
     * Reading experiment
     * Getting experiment information by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readExperiment(requestParameters: ReadExperimentRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ExperimentStudio>;
    readExperiment(requestParameters: ReadExperimentRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ExperimentStudio>>;
    readExperiment(requestParameters: ReadExperimentRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ExperimentStudio>>;
    /**
     * Calculation history
     * Read calculation history.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readExperimentCalculationHistory(requestParameters: ReadExperimentCalculationHistoryRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<Array<CalculationHistoryElementStudio>>;
    readExperimentCalculationHistory(requestParameters: ReadExperimentCalculationHistoryRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<Array<CalculationHistoryElementStudio>>>;
    readExperimentCalculationHistory(requestParameters: ReadExperimentCalculationHistoryRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<Array<CalculationHistoryElementStudio>>>;
    /**
     * Experiment neighbors
     * Experiment neighbors.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readExperimentNeighbors(requestParameters: ReadExperimentNeighborsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ExperimentNeighborsStudio>;
    readExperimentNeighbors(requestParameters: ReadExperimentNeighborsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ExperimentNeighborsStudio>>;
    readExperimentNeighbors(requestParameters: ReadExperimentNeighborsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ExperimentNeighborsStudio>>;
    /**
     * Experiment path
     * Experiment path.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readExperimentPath(requestParameters: ReadExperimentPathRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<FilesystemPathStudio>;
    readExperimentPath(requestParameters: ReadExperimentPathRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<FilesystemPathStudio>>;
    readExperimentPath(requestParameters: ReadExperimentPathRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<FilesystemPathStudio>>;
    /**
     * Experiment list (table)
     * Getting a experiments list.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readFolder(requestParameters?: ReadFolderRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ExperimentListStudio>;
    readFolder(requestParameters?: ReadFolderRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ExperimentListStudio>>;
    readFolder(requestParameters?: ReadFolderRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ExperimentListStudio>>;
    /**
     * Run calculation
     * Experiment calculation run.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    runExperimentCalculation(requestParameters: RunExperimentCalculationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ExperimentStudio>;
    runExperimentCalculation(requestParameters: RunExperimentCalculationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ExperimentStudio>>;
    runExperimentCalculation(requestParameters: RunExperimentCalculationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ExperimentStudio>>;
    /**
     * Recalculate stats
     * Starting recalculation of experiment stats.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    runExperimentRecalculateStats(requestParameters: RunExperimentRecalculateStatsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ExperimentStudio>;
    runExperimentRecalculateStats(requestParameters: RunExperimentRecalculateStatsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ExperimentStudio>>;
    runExperimentRecalculateStats(requestParameters: RunExperimentRecalculateStatsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ExperimentStudio>>;
    /**
     * Recalculate tracks
     * Starting recalculation of &#x60;ROAD&#x60; experiment tracks.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    runExperimentRecalculateTracks(requestParameters: RunExperimentRecalculateTracksRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ExperimentStudio>;
    runExperimentRecalculateTracks(requestParameters: RunExperimentRecalculateTracksRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ExperimentStudio>>;
    runExperimentRecalculateTracks(requestParameters: RunExperimentRecalculateTracksRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ExperimentStudio>>;
    /**
     * Run refine
     * Experiment refine run.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    runExperimentRefine(requestParameters: RunExperimentRefineRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ExperimentStudio>;
    runExperimentRefine(requestParameters: RunExperimentRefineRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ExperimentStudio>>;
    runExperimentRefine(requestParameters: RunExperimentRefineRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ExperimentStudio>>;
    /**
     * Run validation
     * Experiment validation run.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    runExperimentValidation(requestParameters: RunExperimentValidationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ExperimentStudio>;
    runExperimentValidation(requestParameters: RunExperimentValidationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ExperimentStudio>>;
    runExperimentValidation(requestParameters: RunExperimentValidationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ExperimentStudio>>;
    /**
     * Calculation stop
     * Calculation stop.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stopExperimentCalculation(requestParameters: StopExperimentCalculationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    stopExperimentCalculation(requestParameters: StopExperimentCalculationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    stopExperimentCalculation(requestParameters: StopExperimentCalculationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Experiment update
     * Rename \\ move experiment.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updateExperiment(requestParameters: UpdateExperimentRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ExperimentStudio>;
    updateExperiment(requestParameters: UpdateExperimentRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ExperimentStudio>>;
    updateExperiment(requestParameters: UpdateExperimentRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ExperimentStudio>>;
    /**
     * Indicators update
     * Updating the experiment indicators.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updateExperimentIndicators(requestParameters: UpdateExperimentIndicatorsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ExperimentStudio>;
    updateExperimentIndicators(requestParameters: UpdateExperimentIndicatorsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ExperimentStudio>>;
    updateExperimentIndicators(requestParameters: UpdateExperimentIndicatorsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ExperimentStudio>>;
    /**
     * Settings update
     * Experiment settings update.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updateExperimentSettings(requestParameters: UpdateExperimentSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ExperimentStudio>;
    updateExperimentSettings(requestParameters: UpdateExperimentSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ExperimentStudio>>;
    updateExperimentSettings(requestParameters: UpdateExperimentSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ExperimentStudio>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<ExperimentsService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ExperimentsService>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

interface CreateFolderRequestParams {
    folderSpecificationStudio: FolderSpecificationStudio;
}
interface CreateFoldersBatchRequestParams {
    requestBody: Array<string>;
}
interface DeleteFilesBatchRequestParams {
    requestBody: Array<string>;
}
interface DeleteFolderRequestParams {
    targetFolderKey: string;
}
interface DeleteFoldersBatchRequestParams {
    requestBody: Array<string>;
}
interface DisableSharingBatchRequestParams {
    requestBody: Array<string>;
}
interface EnableSharingBatchRequestParams {
    requestBody: Array<string>;
}
interface ReadFileKeyRequestParams {
    fileNamePathStudio: FileNamePathStudio;
}
interface ReadFilesystemRequestParams {
    folderKey?: string;
    filter?: string;
    offset?: number;
    limit?: number;
    sortField?: FilesystemColumnTypeStudio;
    sortDirection?: 'ASC' | 'DESC';
}
interface ReadFolderKeyRequestParams {
    requestBody: Array<string>;
}
interface ReadFolderPathRequestParams {
    targetFolderKey: string;
}
interface ReadFolderSpecificationRequestParams {
    targetFolderKey: string;
}
interface UpdateFolderRequestParams {
    targetFolderKey: string;
    folderSpecificationStudio: FolderSpecificationStudio;
}
interface ExplorerServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     * Create folder
     * Create new folder.
* @param requestParameters
     */
    createFolder(requestParameters: CreateFolderRequestParams, extraHttpRequestParams?: any): Observable<string>;
    /**
     * Create folders (batch)
     * Create new folder (batch).
* @param requestParameters
     */
    createFoldersBatch(requestParameters: CreateFoldersBatchRequestParams, extraHttpRequestParams?: any): Observable<string>;
    /**
     * Files removal (batch)
     * Batch delete files.
* @param requestParameters
     */
    deleteFilesBatch(requestParameters: DeleteFilesBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Folder removal
     * Folder removal by key.
* @param requestParameters
     */
    deleteFolder(requestParameters: DeleteFolderRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Folders removal (batch)
     * Batch delete folders.
* @param requestParameters
     */
    deleteFoldersBatch(requestParameters: DeleteFoldersBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Disable sharing (batch)
     * Batch disable sharing.
* @param requestParameters
     */
    disableSharingBatch(requestParameters: DisableSharingBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Enable sharing (batch)
     * Batch enable sharing.
* @param requestParameters
     */
    enableSharingBatch(requestParameters: EnableSharingBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * File key
     * Getting a file key by path.
* @param requestParameters
     */
    readFileKey(requestParameters: ReadFileKeyRequestParams, extraHttpRequestParams?: any): Observable<string>;
    /**
     * Getting a filesystem
     * Getting a filesystem.
* @param requestParameters
     */
    readFilesystem(requestParameters: ReadFilesystemRequestParams, extraHttpRequestParams?: any): Observable<FilesystemStudio>;
    /**
     * Filesystem counters
     * Getting a virtual filesystem counters.
*/
    readFilesystemCounters(extraHttpRequestParams?: any): Observable<FilesystemCountersStudio>;
    /**
     * Folder key
     * Getting a folder key by path.
* @param requestParameters
     */
    readFolderKey(requestParameters: ReadFolderKeyRequestParams, extraHttpRequestParams?: any): Observable<string>;
    /**
     * Folder path
     * Folder path.
* @param requestParameters
     */
    readFolderPath(requestParameters: ReadFolderPathRequestParams, extraHttpRequestParams?: any): Observable<FilesystemPathStudio>;
    /**
     * Folder specification
     * Getting a folder specification.
* @param requestParameters
     */
    readFolderSpecification(requestParameters: ReadFolderSpecificationRequestParams, extraHttpRequestParams?: any): Observable<FolderSpecificationStudio>;
    /**
     * Update folder
     * Rename and move folder.
* @param requestParameters
     */
    updateFolder(requestParameters: UpdateFolderRequestParams, extraHttpRequestParams?: any): Observable<FilesystemStudio>;
}

declare class ExplorerService extends BaseService implements ExplorerServiceInterface {
    protected httpClient: HttpClient;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration?: Configuration);
    /**
     * Create folder
     * Create new folder.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createFolder(requestParameters: CreateFolderRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<string>;
    createFolder(requestParameters: CreateFolderRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<string>>;
    createFolder(requestParameters: CreateFolderRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<string>>;
    /**
     * Create folders (batch)
     * Create new folder (batch).
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createFoldersBatch(requestParameters: CreateFoldersBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<string>;
    createFoldersBatch(requestParameters: CreateFoldersBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<string>>;
    createFoldersBatch(requestParameters: CreateFoldersBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<string>>;
    /**
     * Files removal (batch)
     * Batch delete files.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteFilesBatch(requestParameters: DeleteFilesBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteFilesBatch(requestParameters: DeleteFilesBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteFilesBatch(requestParameters: DeleteFilesBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Folder removal
     * Folder removal by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteFolder(requestParameters: DeleteFolderRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteFolder(requestParameters: DeleteFolderRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteFolder(requestParameters: DeleteFolderRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Folders removal (batch)
     * Batch delete folders.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteFoldersBatch(requestParameters: DeleteFoldersBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteFoldersBatch(requestParameters: DeleteFoldersBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteFoldersBatch(requestParameters: DeleteFoldersBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Disable sharing (batch)
     * Batch disable sharing.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    disableSharingBatch(requestParameters: DisableSharingBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    disableSharingBatch(requestParameters: DisableSharingBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    disableSharingBatch(requestParameters: DisableSharingBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Enable sharing (batch)
     * Batch enable sharing.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    enableSharingBatch(requestParameters: EnableSharingBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    enableSharingBatch(requestParameters: EnableSharingBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    enableSharingBatch(requestParameters: EnableSharingBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * File key
     * Getting a file key by path.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readFileKey(requestParameters: ReadFileKeyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<string>;
    readFileKey(requestParameters: ReadFileKeyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<string>>;
    readFileKey(requestParameters: ReadFileKeyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<string>>;
    /**
     * Getting a filesystem
     * Getting a filesystem.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readFilesystem(requestParameters?: ReadFilesystemRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<FilesystemStudio>;
    readFilesystem(requestParameters?: ReadFilesystemRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<FilesystemStudio>>;
    readFilesystem(requestParameters?: ReadFilesystemRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<FilesystemStudio>>;
    /**
     * Filesystem counters
     * Getting a virtual filesystem counters.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readFilesystemCounters(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<FilesystemCountersStudio>;
    readFilesystemCounters(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<FilesystemCountersStudio>>;
    readFilesystemCounters(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<FilesystemCountersStudio>>;
    /**
     * Folder key
     * Getting a folder key by path.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readFolderKey(requestParameters: ReadFolderKeyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<string>;
    readFolderKey(requestParameters: ReadFolderKeyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<string>>;
    readFolderKey(requestParameters: ReadFolderKeyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<string>>;
    /**
     * Folder path
     * Folder path.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readFolderPath(requestParameters: ReadFolderPathRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<FilesystemPathStudio>;
    readFolderPath(requestParameters: ReadFolderPathRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<FilesystemPathStudio>>;
    readFolderPath(requestParameters: ReadFolderPathRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<FilesystemPathStudio>>;
    /**
     * Folder specification
     * Getting a folder specification.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readFolderSpecification(requestParameters: ReadFolderSpecificationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<FolderSpecificationStudio>;
    readFolderSpecification(requestParameters: ReadFolderSpecificationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<FolderSpecificationStudio>>;
    readFolderSpecification(requestParameters: ReadFolderSpecificationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<FolderSpecificationStudio>>;
    /**
     * Update folder
     * Rename and move folder.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updateFolder(requestParameters: UpdateFolderRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<FilesystemStudio>;
    updateFolder(requestParameters: UpdateFolderRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<FilesystemStudio>>;
    updateFolder(requestParameters: UpdateFolderRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<FilesystemStudio>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<ExplorerService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ExplorerService>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

interface CreateExternalroutingRequestParams {
    fileKey: string;
    routingTransportMatrixStudio: Set<RoutingTransportMatrixStudio>;
}
interface DeleteExternalroutingRequestParams {
    fileKey: string;
}
interface ReadExternalroutingRequestParams {
    fileKey: string;
}
interface UpdateExternalroutingRequestParams {
    fileKey: string;
    routingTransportMatrixStudio: Set<RoutingTransportMatrixStudio>;
}
interface ExternalRoutingServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     * Create externalrouting
     * Create new external routing.
* @param requestParameters
     */
    createExternalrouting(requestParameters: CreateExternalroutingRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Deleting externalrouting
     * Removing externalrouting.
* @param requestParameters
     */
    deleteExternalrouting(requestParameters: DeleteExternalroutingRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Read externalrouting
     * Getting externalrouting information.
* @param requestParameters
     */
    readExternalrouting(requestParameters: ReadExternalroutingRequestParams, extraHttpRequestParams?: any): Observable<Set<RoutingTransportMatrixStudio>>;
    /**
     * Update externalrouting
     * Updating the externalrouting.
* @param requestParameters
     */
    updateExternalrouting(requestParameters: UpdateExternalroutingRequestParams, extraHttpRequestParams?: any): Observable<{}>;
}

declare class ExternalRoutingService extends BaseService implements ExternalRoutingServiceInterface {
    protected httpClient: HttpClient;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration?: Configuration);
    /**
     * Create externalrouting
     * Create new external routing.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createExternalrouting(requestParameters: CreateExternalroutingRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    createExternalrouting(requestParameters: CreateExternalroutingRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    createExternalrouting(requestParameters: CreateExternalroutingRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Deleting externalrouting
     * Removing externalrouting.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteExternalrouting(requestParameters: DeleteExternalroutingRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteExternalrouting(requestParameters: DeleteExternalroutingRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteExternalrouting(requestParameters: DeleteExternalroutingRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Read externalrouting
     * Getting externalrouting information.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readExternalrouting(requestParameters: ReadExternalroutingRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<Set<RoutingTransportMatrixStudio>>;
    readExternalrouting(requestParameters: ReadExternalroutingRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<Set<RoutingTransportMatrixStudio>>>;
    readExternalrouting(requestParameters: ReadExternalroutingRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<Set<RoutingTransportMatrixStudio>>>;
    /**
     * Update externalrouting
     * Updating the externalrouting.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updateExternalrouting(requestParameters: UpdateExternalroutingRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    updateExternalrouting(requestParameters: UpdateExternalroutingRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    updateExternalrouting(requestParameters: UpdateExternalroutingRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<ExternalRoutingService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ExternalRoutingService>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

interface CreateFactRequestParams {
    fileKey: string;
    factStudio: FactStudio;
}
interface DeleteFactRequestParams {
    fileKey: string;
    essenceKey: string;
}
interface DeleteFactsBatchRequestParams {
    fileKey: string;
    requestBody: Array<string>;
}
interface DisableFactsBatchRequestParams {
    fileKey: string;
    requestBody: Array<string>;
}
interface EnableFactsBatchRequestParams {
    fileKey: string;
    requestBody: Array<string>;
}
interface ReadFactRequestParams {
    fileKey: string;
    essenceKey: string;
}
interface ReadFactsMetricsRequestParams {
    fileKey: string;
    tableFactMetricsFilterListStudio: TableFactMetricsFilterListStudio;
}
interface ReadFactsTableRequestParams {
    fileKey: string;
    offset?: number;
    limit?: number;
    sortField?: TableFactColumnTypeStudio;
    sortCustomfield?: TableCustomfieldsColumnTypeStudio;
    sortDirection?: 'ASC' | 'DESC';
    tableFactFilterListStudio?: TableFactFilterListStudio;
}
interface UpdateFactRequestParams {
    fileKey: string;
    factStudio: FactStudio;
}
interface FactsServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     * Create fact
     * Creating a fact. You can only create a new fact with the \&#39;NEW\&#39; status.
* @param requestParameters
     */
    createFact(requestParameters: CreateFactRequestParams, extraHttpRequestParams?: any): Observable<WebFactStudio>;
    /**
     * Deleting one fact
     * Removing a fact by key.
* @param requestParameters
     */
    deleteFact(requestParameters: DeleteFactRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Delete facts (batch)
     * Removing facts from the file.
* @param requestParameters
     */
    deleteFactsBatch(requestParameters: DeleteFactsBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Disable facts
     * Disable facts in the calculation.
* @param requestParameters
     */
    disableFactsBatch(requestParameters: DisableFactsBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Enable facts
     * Enable facts in the calculation.
* @param requestParameters
     */
    enableFactsBatch(requestParameters: EnableFactsBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Read fact
     * Getting fact information by key.
* @param requestParameters
     */
    readFact(requestParameters: ReadFactRequestParams, extraHttpRequestParams?: any): Observable<WebFactStudio>;
    /**
     * Fact metrics
     * Calculate general metrics for selected facts.
* @param requestParameters
     */
    readFactsMetrics(requestParameters: ReadFactsMetricsRequestParams, extraHttpRequestParams?: any): Observable<TableFactMetricsStudio>;
    /**
     * List of facts
     * Getting a facts list.
* @param requestParameters
     */
    readFactsTable(requestParameters: ReadFactsTableRequestParams, extraHttpRequestParams?: any): Observable<TableFactListStudio>;
    /**
     * Update fact
     * Updating the fact by key.
* @param requestParameters
     */
    updateFact(requestParameters: UpdateFactRequestParams, extraHttpRequestParams?: any): Observable<WebFactStudio>;
}

declare class FactsService extends BaseService implements FactsServiceInterface {
    protected httpClient: HttpClient;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration?: Configuration);
    /**
     * Create fact
     * Creating a fact. You can only create a new fact with the \&#39;NEW\&#39; status.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createFact(requestParameters: CreateFactRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebFactStudio>;
    createFact(requestParameters: CreateFactRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebFactStudio>>;
    createFact(requestParameters: CreateFactRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebFactStudio>>;
    /**
     * Deleting one fact
     * Removing a fact by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteFact(requestParameters: DeleteFactRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteFact(requestParameters: DeleteFactRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteFact(requestParameters: DeleteFactRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Delete facts (batch)
     * Removing facts from the file.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteFactsBatch(requestParameters: DeleteFactsBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteFactsBatch(requestParameters: DeleteFactsBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteFactsBatch(requestParameters: DeleteFactsBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Disable facts
     * Disable facts in the calculation.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    disableFactsBatch(requestParameters: DisableFactsBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    disableFactsBatch(requestParameters: DisableFactsBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    disableFactsBatch(requestParameters: DisableFactsBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Enable facts
     * Enable facts in the calculation.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    enableFactsBatch(requestParameters: EnableFactsBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    enableFactsBatch(requestParameters: EnableFactsBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    enableFactsBatch(requestParameters: EnableFactsBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Read fact
     * Getting fact information by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readFact(requestParameters: ReadFactRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebFactStudio>;
    readFact(requestParameters: ReadFactRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebFactStudio>>;
    readFact(requestParameters: ReadFactRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebFactStudio>>;
    /**
     * Fact metrics
     * Calculate general metrics for selected facts.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readFactsMetrics(requestParameters: ReadFactsMetricsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<TableFactMetricsStudio>;
    readFactsMetrics(requestParameters: ReadFactsMetricsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<TableFactMetricsStudio>>;
    readFactsMetrics(requestParameters: ReadFactsMetricsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<TableFactMetricsStudio>>;
    /**
     * List of facts
     * Getting a facts list.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readFactsTable(requestParameters: ReadFactsTableRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<TableFactListStudio>;
    readFactsTable(requestParameters: ReadFactsTableRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<TableFactListStudio>>;
    readFactsTable(requestParameters: ReadFactsTableRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<TableFactListStudio>>;
    /**
     * Update fact
     * Updating the fact by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updateFact(requestParameters: UpdateFactRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebFactStudio>;
    updateFact(requestParameters: UpdateFactRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebFactStudio>>;
    updateFact(requestParameters: UpdateFactRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebFactStudio>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<FactsService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<FactsService>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

interface CreateHardlinkRequestParams {
    fileKey: string;
    hardlinkStudio: HardlinkStudio;
}
interface DeleteHardlinkRequestParams {
    fileKey: string;
    essenceKey: string;
}
interface DeleteHardlinksBatchRequestParams {
    fileKey: string;
    requestBody: Array<string>;
}
interface DisableHardlinksBatchRequestParams {
    fileKey: string;
    requestBody: Array<string>;
}
interface EnableHardlinksBatchRequestParams {
    fileKey: string;
    requestBody: Array<string>;
}
interface ReadHardlinkRequestParams {
    fileKey: string;
    essenceKey: string;
}
interface ReadHardlinksMetricsRequestParams {
    fileKey: string;
    tableHardlinkMetricsFilterListStudio: TableHardlinkMetricsFilterListStudio;
}
interface ReadHardlinksTableRequestParams {
    fileKey: string;
    offset?: number;
    limit?: number;
    sortField?: TableHardlinkColumnTypeStudio;
    sortCustomfield?: TableCustomfieldsColumnTypeStudio;
    sortDirection?: 'ASC' | 'DESC';
    tableHardlinkFilterListStudio?: TableHardlinkFilterListStudio;
}
interface UpdateHardlinkRequestParams {
    fileKey: string;
    hardlinkStudio: HardlinkStudio;
}
interface HardlinksServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     * Create hardlink
     * Create new hardlink.
* @param requestParameters
     */
    createHardlink(requestParameters: CreateHardlinkRequestParams, extraHttpRequestParams?: any): Observable<WebHardlinkStudio>;
    /**
     * Remove hardlink
     * Removing a essence by key.
* @param requestParameters
     */
    deleteHardlink(requestParameters: DeleteHardlinkRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Delete hardlinks (batch)
     * Removing hardlinks from the file.
* @param requestParameters
     */
    deleteHardlinksBatch(requestParameters: DeleteHardlinksBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Disable hardlinks
     * Disable hardlinks in the calculation.
* @param requestParameters
     */
    disableHardlinksBatch(requestParameters: DisableHardlinksBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Enable hardlinks
     * Enable hardlinks in the calculation.
* @param requestParameters
     */
    enableHardlinksBatch(requestParameters: EnableHardlinksBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Read hardlink
     * Getting hardlink information by key.
* @param requestParameters
     */
    readHardlink(requestParameters: ReadHardlinkRequestParams, extraHttpRequestParams?: any): Observable<WebHardlinkStudio>;
    /**
     * Hardlink metrics
     * Calculate general metrics for selected hardlinks.
* @param requestParameters
     */
    readHardlinksMetrics(requestParameters: ReadHardlinksMetricsRequestParams, extraHttpRequestParams?: any): Observable<TableHardlinkMetricsStudio>;
    /**
     * List hardlinks
     * Getting a hardlinks list.
* @param requestParameters
     */
    readHardlinksTable(requestParameters: ReadHardlinksTableRequestParams, extraHttpRequestParams?: any): Observable<TableHardlinkListStudio>;
    /**
     * Update hardlink
     * Updating the hardlink by key.
* @param requestParameters
     */
    updateHardlink(requestParameters: UpdateHardlinkRequestParams, extraHttpRequestParams?: any): Observable<WebHardlinkStudio>;
}

declare class HardlinksService extends BaseService implements HardlinksServiceInterface {
    protected httpClient: HttpClient;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration?: Configuration);
    /**
     * Create hardlink
     * Create new hardlink.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createHardlink(requestParameters: CreateHardlinkRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebHardlinkStudio>;
    createHardlink(requestParameters: CreateHardlinkRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebHardlinkStudio>>;
    createHardlink(requestParameters: CreateHardlinkRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebHardlinkStudio>>;
    /**
     * Remove hardlink
     * Removing a essence by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteHardlink(requestParameters: DeleteHardlinkRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteHardlink(requestParameters: DeleteHardlinkRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteHardlink(requestParameters: DeleteHardlinkRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Delete hardlinks (batch)
     * Removing hardlinks from the file.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteHardlinksBatch(requestParameters: DeleteHardlinksBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteHardlinksBatch(requestParameters: DeleteHardlinksBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteHardlinksBatch(requestParameters: DeleteHardlinksBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Disable hardlinks
     * Disable hardlinks in the calculation.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    disableHardlinksBatch(requestParameters: DisableHardlinksBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    disableHardlinksBatch(requestParameters: DisableHardlinksBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    disableHardlinksBatch(requestParameters: DisableHardlinksBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Enable hardlinks
     * Enable hardlinks in the calculation.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    enableHardlinksBatch(requestParameters: EnableHardlinksBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    enableHardlinksBatch(requestParameters: EnableHardlinksBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    enableHardlinksBatch(requestParameters: EnableHardlinksBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Read hardlink
     * Getting hardlink information by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readHardlink(requestParameters: ReadHardlinkRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebHardlinkStudio>;
    readHardlink(requestParameters: ReadHardlinkRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebHardlinkStudio>>;
    readHardlink(requestParameters: ReadHardlinkRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebHardlinkStudio>>;
    /**
     * Hardlink metrics
     * Calculate general metrics for selected hardlinks.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readHardlinksMetrics(requestParameters: ReadHardlinksMetricsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<TableHardlinkMetricsStudio>;
    readHardlinksMetrics(requestParameters: ReadHardlinksMetricsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<TableHardlinkMetricsStudio>>;
    readHardlinksMetrics(requestParameters: ReadHardlinksMetricsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<TableHardlinkMetricsStudio>>;
    /**
     * List hardlinks
     * Getting a hardlinks list.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readHardlinksTable(requestParameters: ReadHardlinksTableRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<TableHardlinkListStudio>;
    readHardlinksTable(requestParameters: ReadHardlinksTableRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<TableHardlinkListStudio>>;
    readHardlinksTable(requestParameters: ReadHardlinksTableRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<TableHardlinkListStudio>>;
    /**
     * Update hardlink
     * Updating the hardlink by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updateHardlink(requestParameters: UpdateHardlinkRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebHardlinkStudio>;
    updateHardlink(requestParameters: UpdateHardlinkRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebHardlinkStudio>>;
    updateHardlink(requestParameters: UpdateHardlinkRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebHardlinkStudio>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<HardlinksService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<HardlinksService>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

interface CreateLocationRequestParams {
    fileKey: string;
    locationStudio: LocationStudio;
}
interface DeleteLocationRequestParams {
    fileKey: string;
    essenceKey: string;
}
interface DeleteLocationsBatchRequestParams {
    fileKey: string;
    requestBody: Array<string>;
}
interface ReadLocationRequestParams {
    fileKey: string;
    essenceKey: string;
}
interface ReadLocationsGeopointsRequestParams {
    fileKey: string;
    offset?: number;
    limit?: number;
    tableLocationFilterListStudio?: TableLocationFilterListStudio;
}
interface ReadLocationsMetricsRequestParams {
    fileKey: string;
    tableLocationMetricsFilterListStudio: TableLocationMetricsFilterListStudio;
}
interface ReadLocationsTableRequestParams {
    fileKey: string;
    offset?: number;
    limit?: number;
    sortField?: TableLocationColumnTypeStudio;
    sortCustomfield?: TableCustomfieldsColumnTypeStudio;
    sortDirection?: 'ASC' | 'DESC';
    tableLocationFilterListStudio?: TableLocationFilterListStudio;
}
interface UpdateLocationRequestParams {
    fileKey: string;
    locationStudio: LocationStudio;
}
interface LocationsServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     * Create location
     * Create location.
* @param requestParameters
     */
    createLocation(requestParameters: CreateLocationRequestParams, extraHttpRequestParams?: any): Observable<WebLocationStudio>;
    /**
     * Remove location
     * Removing a location by key.
* @param requestParameters
     */
    deleteLocation(requestParameters: DeleteLocationRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Delete locations (batch)
     * Removing locations from the file.
* @param requestParameters
     */
    deleteLocationsBatch(requestParameters: DeleteLocationsBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Read location
     * Getting location information by key.
* @param requestParameters
     */
    readLocation(requestParameters: ReadLocationRequestParams, extraHttpRequestParams?: any): Observable<WebLocationStudio>;
    /**
     * Location geopoints
     * Getting a geopoints.
* @param requestParameters
     */
    readLocationsGeopoints(requestParameters: ReadLocationsGeopointsRequestParams, extraHttpRequestParams?: any): Observable<WebLocationGeopointListStudio>;
    /**
     * Location metrics
     * Calculate general metrics for selected locations.
* @param requestParameters
     */
    readLocationsMetrics(requestParameters: ReadLocationsMetricsRequestParams, extraHttpRequestParams?: any): Observable<TableLocationMetricsStudio>;
    /**
     * Locations list
     * Getting a locations list.
* @param requestParameters
     */
    readLocationsTable(requestParameters: ReadLocationsTableRequestParams, extraHttpRequestParams?: any): Observable<TableLocationListStudio>;
    /**
     * Update location
     * Updating the location by key.
* @param requestParameters
     */
    updateLocation(requestParameters: UpdateLocationRequestParams, extraHttpRequestParams?: any): Observable<WebLocationStudio>;
}

declare class LocationsService extends BaseService implements LocationsServiceInterface {
    protected httpClient: HttpClient;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration?: Configuration);
    /**
     * Create location
     * Create location.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createLocation(requestParameters: CreateLocationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebLocationStudio>;
    createLocation(requestParameters: CreateLocationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebLocationStudio>>;
    createLocation(requestParameters: CreateLocationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebLocationStudio>>;
    /**
     * Remove location
     * Removing a location by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteLocation(requestParameters: DeleteLocationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteLocation(requestParameters: DeleteLocationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteLocation(requestParameters: DeleteLocationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Delete locations (batch)
     * Removing locations from the file.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteLocationsBatch(requestParameters: DeleteLocationsBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteLocationsBatch(requestParameters: DeleteLocationsBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteLocationsBatch(requestParameters: DeleteLocationsBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Read location
     * Getting location information by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readLocation(requestParameters: ReadLocationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebLocationStudio>;
    readLocation(requestParameters: ReadLocationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebLocationStudio>>;
    readLocation(requestParameters: ReadLocationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebLocationStudio>>;
    /**
     * Location geopoints
     * Getting a geopoints.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readLocationsGeopoints(requestParameters: ReadLocationsGeopointsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebLocationGeopointListStudio>;
    readLocationsGeopoints(requestParameters: ReadLocationsGeopointsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebLocationGeopointListStudio>>;
    readLocationsGeopoints(requestParameters: ReadLocationsGeopointsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebLocationGeopointListStudio>>;
    /**
     * Location metrics
     * Calculate general metrics for selected locations.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readLocationsMetrics(requestParameters: ReadLocationsMetricsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<TableLocationMetricsStudio>;
    readLocationsMetrics(requestParameters: ReadLocationsMetricsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<TableLocationMetricsStudio>>;
    readLocationsMetrics(requestParameters: ReadLocationsMetricsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<TableLocationMetricsStudio>>;
    /**
     * Locations list
     * Getting a locations list.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readLocationsTable(requestParameters: ReadLocationsTableRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<TableLocationListStudio>;
    readLocationsTable(requestParameters: ReadLocationsTableRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<TableLocationListStudio>>;
    readLocationsTable(requestParameters: ReadLocationsTableRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<TableLocationListStudio>>;
    /**
     * Update location
     * Updating the location by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updateLocation(requestParameters: UpdateLocationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebLocationStudio>;
    updateLocation(requestParameters: UpdateLocationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebLocationStudio>>;
    updateLocation(requestParameters: UpdateLocationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebLocationStudio>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<LocationsService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<LocationsService>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

interface CreateOrderRequestParams {
    fileKey: string;
    orderStudio: OrderStudio;
}
interface DeleteOrderRequestParams {
    fileKey: string;
    essenceKey: string;
}
interface DeleteOrdersBatchRequestParams {
    fileKey: string;
    requestBody: Array<string>;
}
interface DisableOrdersBatchRequestParams {
    fileKey: string;
    requestBody: Array<string>;
}
interface EnableOrdersBatchRequestParams {
    fileKey: string;
    requestBody: Array<string>;
}
interface ReadOrderRequestParams {
    fileKey: string;
    essenceKey: string;
}
interface ReadOrdersGeopointsRequestParams {
    fileKey: string;
    offset?: number;
    limit?: number;
    tableOrderFilterListStudio?: TableOrderFilterListStudio;
}
interface ReadOrdersMetricsRequestParams {
    fileKey: string;
    tableOrderMetricsFilterListStudio: TableOrderMetricsFilterListStudio;
}
interface ReadOrdersTableRequestParams {
    fileKey: string;
    offset?: number;
    limit?: number;
    sortField?: TableOrderColumnTypeStudio;
    sortCustomfield?: TableCustomfieldsColumnTypeStudio;
    sortDirection?: 'ASC' | 'DESC';
    tableOrderFilterListStudio?: TableOrderFilterListStudio;
}
interface UpdateOrderRequestParams {
    fileKey: string;
    orderStudio: OrderStudio;
}
interface OrdersServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     * Create order
     * New order creation.
* @param requestParameters
     */
    createOrder(requestParameters: CreateOrderRequestParams, extraHttpRequestParams?: any): Observable<WebOrderStudio>;
    /**
     * Deleting one order
     * Removing a essence by key.
* @param requestParameters
     */
    deleteOrder(requestParameters: DeleteOrderRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Delete orders (batch)
     * Removing orders from the file.
* @param requestParameters
     */
    deleteOrdersBatch(requestParameters: DeleteOrdersBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Disable orders
     * Disable orders in the calculation.
* @param requestParameters
     */
    disableOrdersBatch(requestParameters: DisableOrdersBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Enable orders
     * Enable orders in the calculation.
* @param requestParameters
     */
    enableOrdersBatch(requestParameters: EnableOrdersBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Reading order
     * Getting order information by key.
* @param requestParameters
     */
    readOrder(requestParameters: ReadOrderRequestParams, extraHttpRequestParams?: any): Observable<WebOrderStudio>;
    /**
     * Order geopoints
     * Getting a geopoints.
* @param requestParameters
     */
    readOrdersGeopoints(requestParameters: ReadOrdersGeopointsRequestParams, extraHttpRequestParams?: any): Observable<WebOrderGeopointListStudio>;
    /**
     * Order metrics
     * Calculate general metrics for selected orders.
* @param requestParameters
     */
    readOrdersMetrics(requestParameters: ReadOrdersMetricsRequestParams, extraHttpRequestParams?: any): Observable<TableOrderMetricsStudio>;
    /**
     * List orders
     * Getting a orders list.
* @param requestParameters
     */
    readOrdersTable(requestParameters: ReadOrdersTableRequestParams, extraHttpRequestParams?: any): Observable<TableOrderListStudio>;
    /**
     * Update order
     * Updating the essence by key.
* @param requestParameters
     */
    updateOrder(requestParameters: UpdateOrderRequestParams, extraHttpRequestParams?: any): Observable<WebOrderStudio>;
}

declare class OrdersService extends BaseService implements OrdersServiceInterface {
    protected httpClient: HttpClient;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration?: Configuration);
    /**
     * Create order
     * New order creation.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createOrder(requestParameters: CreateOrderRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebOrderStudio>;
    createOrder(requestParameters: CreateOrderRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebOrderStudio>>;
    createOrder(requestParameters: CreateOrderRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebOrderStudio>>;
    /**
     * Deleting one order
     * Removing a essence by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteOrder(requestParameters: DeleteOrderRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteOrder(requestParameters: DeleteOrderRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteOrder(requestParameters: DeleteOrderRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Delete orders (batch)
     * Removing orders from the file.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteOrdersBatch(requestParameters: DeleteOrdersBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteOrdersBatch(requestParameters: DeleteOrdersBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteOrdersBatch(requestParameters: DeleteOrdersBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Disable orders
     * Disable orders in the calculation.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    disableOrdersBatch(requestParameters: DisableOrdersBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    disableOrdersBatch(requestParameters: DisableOrdersBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    disableOrdersBatch(requestParameters: DisableOrdersBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Enable orders
     * Enable orders in the calculation.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    enableOrdersBatch(requestParameters: EnableOrdersBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    enableOrdersBatch(requestParameters: EnableOrdersBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    enableOrdersBatch(requestParameters: EnableOrdersBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Reading order
     * Getting order information by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readOrder(requestParameters: ReadOrderRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebOrderStudio>;
    readOrder(requestParameters: ReadOrderRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebOrderStudio>>;
    readOrder(requestParameters: ReadOrderRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebOrderStudio>>;
    /**
     * Order geopoints
     * Getting a geopoints.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readOrdersGeopoints(requestParameters: ReadOrdersGeopointsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebOrderGeopointListStudio>;
    readOrdersGeopoints(requestParameters: ReadOrdersGeopointsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebOrderGeopointListStudio>>;
    readOrdersGeopoints(requestParameters: ReadOrdersGeopointsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebOrderGeopointListStudio>>;
    /**
     * Order metrics
     * Calculate general metrics for selected orders.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readOrdersMetrics(requestParameters: ReadOrdersMetricsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<TableOrderMetricsStudio>;
    readOrdersMetrics(requestParameters: ReadOrdersMetricsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<TableOrderMetricsStudio>>;
    readOrdersMetrics(requestParameters: ReadOrdersMetricsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<TableOrderMetricsStudio>>;
    /**
     * List orders
     * Getting a orders list.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readOrdersTable(requestParameters: ReadOrdersTableRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<TableOrderListStudio>;
    readOrdersTable(requestParameters: ReadOrdersTableRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<TableOrderListStudio>>;
    readOrdersTable(requestParameters: ReadOrdersTableRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<TableOrderListStudio>>;
    /**
     * Update order
     * Updating the essence by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updateOrder(requestParameters: UpdateOrderRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebOrderStudio>;
    updateOrder(requestParameters: UpdateOrderRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebOrderStudio>>;
    updateOrder(requestParameters: UpdateOrderRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebOrderStudio>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<OrdersService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<OrdersService>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

interface CreatePerformerRequestParams {
    fileKey: string;
    performerStudio: PerformerStudio;
}
interface DeletePerformerRequestParams {
    fileKey: string;
    essenceKey: string;
}
interface DeletePerformersBatchRequestParams {
    fileKey: string;
    requestBody: Array<string>;
}
interface DisablePerformersBatchRequestParams {
    fileKey: string;
    requestBody: Array<string>;
}
interface EnablePerformersBatchRequestParams {
    fileKey: string;
    requestBody: Array<string>;
}
interface ReadPerformerRequestParams {
    fileKey: string;
    essenceKey: string;
}
interface ReadPerformersGeopointsRequestParams {
    fileKey: string;
    offset?: number;
    limit?: number;
    tablePerformerFilterListStudio?: TablePerformerFilterListStudio;
}
interface ReadPerformersMetricsRequestParams {
    fileKey: string;
    tablePerformerMetricsFilterListStudio: TablePerformerMetricsFilterListStudio;
}
interface ReadPerformersTableRequestParams {
    fileKey: string;
    offset?: number;
    limit?: number;
    sortField?: TablePerformerColumnTypeStudio;
    sortCustomfield?: TableCustomfieldsColumnTypeStudio;
    sortDirection?: 'ASC' | 'DESC';
    tablePerformerFilterListStudio?: TablePerformerFilterListStudio;
}
interface UpdatePerformerRequestParams {
    fileKey: string;
    performerStudio: PerformerStudio;
}
interface PerformersServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     * Create performer
     * Create performer.
* @param requestParameters
     */
    createPerformer(requestParameters: CreatePerformerRequestParams, extraHttpRequestParams?: any): Observable<WebPerformerStudio>;
    /**
     * Remove performer
     * Removing a performer by key.
* @param requestParameters
     */
    deletePerformer(requestParameters: DeletePerformerRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Delete performers (batch)
     * Removing performers from the file.
* @param requestParameters
     */
    deletePerformersBatch(requestParameters: DeletePerformersBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Disable performers
     * Disable performers in the calculation.
* @param requestParameters
     */
    disablePerformersBatch(requestParameters: DisablePerformersBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Enable performers
     * Enable performers in the calculation.
* @param requestParameters
     */
    enablePerformersBatch(requestParameters: EnablePerformersBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Read performer
     * Getting performer information by key.
* @param requestParameters
     */
    readPerformer(requestParameters: ReadPerformerRequestParams, extraHttpRequestParams?: any): Observable<WebPerformerStudio>;
    /**
     * Performer geopoints
     * Getting a geopoints.
* @param requestParameters
     */
    readPerformersGeopoints(requestParameters: ReadPerformersGeopointsRequestParams, extraHttpRequestParams?: any): Observable<WebPerformerGeopointListStudio>;
    /**
     * Performer metrics
     * Calculate general metrics for selected performers.
* @param requestParameters
     */
    readPerformersMetrics(requestParameters: ReadPerformersMetricsRequestParams, extraHttpRequestParams?: any): Observable<TablePerformerMetricsStudio>;
    /**
     * Performers list
     * Getting a performers list.
* @param requestParameters
     */
    readPerformersTable(requestParameters: ReadPerformersTableRequestParams, extraHttpRequestParams?: any): Observable<TablePerformerListStudio>;
    /**
     * Update performer
     * Updating the performer by key.
* @param requestParameters
     */
    updatePerformer(requestParameters: UpdatePerformerRequestParams, extraHttpRequestParams?: any): Observable<WebPerformerStudio>;
}

declare class PerformersService extends BaseService implements PerformersServiceInterface {
    protected httpClient: HttpClient;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration?: Configuration);
    /**
     * Create performer
     * Create performer.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createPerformer(requestParameters: CreatePerformerRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebPerformerStudio>;
    createPerformer(requestParameters: CreatePerformerRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebPerformerStudio>>;
    createPerformer(requestParameters: CreatePerformerRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebPerformerStudio>>;
    /**
     * Remove performer
     * Removing a performer by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deletePerformer(requestParameters: DeletePerformerRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deletePerformer(requestParameters: DeletePerformerRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deletePerformer(requestParameters: DeletePerformerRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Delete performers (batch)
     * Removing performers from the file.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deletePerformersBatch(requestParameters: DeletePerformersBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deletePerformersBatch(requestParameters: DeletePerformersBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deletePerformersBatch(requestParameters: DeletePerformersBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Disable performers
     * Disable performers in the calculation.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    disablePerformersBatch(requestParameters: DisablePerformersBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    disablePerformersBatch(requestParameters: DisablePerformersBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    disablePerformersBatch(requestParameters: DisablePerformersBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Enable performers
     * Enable performers in the calculation.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    enablePerformersBatch(requestParameters: EnablePerformersBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    enablePerformersBatch(requestParameters: EnablePerformersBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    enablePerformersBatch(requestParameters: EnablePerformersBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Read performer
     * Getting performer information by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readPerformer(requestParameters: ReadPerformerRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebPerformerStudio>;
    readPerformer(requestParameters: ReadPerformerRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebPerformerStudio>>;
    readPerformer(requestParameters: ReadPerformerRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebPerformerStudio>>;
    /**
     * Performer geopoints
     * Getting a geopoints.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readPerformersGeopoints(requestParameters: ReadPerformersGeopointsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebPerformerGeopointListStudio>;
    readPerformersGeopoints(requestParameters: ReadPerformersGeopointsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebPerformerGeopointListStudio>>;
    readPerformersGeopoints(requestParameters: ReadPerformersGeopointsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebPerformerGeopointListStudio>>;
    /**
     * Performer metrics
     * Calculate general metrics for selected performers.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readPerformersMetrics(requestParameters: ReadPerformersMetricsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<TablePerformerMetricsStudio>;
    readPerformersMetrics(requestParameters: ReadPerformersMetricsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<TablePerformerMetricsStudio>>;
    readPerformersMetrics(requestParameters: ReadPerformersMetricsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<TablePerformerMetricsStudio>>;
    /**
     * Performers list
     * Getting a performers list.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readPerformersTable(requestParameters: ReadPerformersTableRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<TablePerformerListStudio>;
    readPerformersTable(requestParameters: ReadPerformersTableRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<TablePerformerListStudio>>;
    readPerformersTable(requestParameters: ReadPerformersTableRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<TablePerformerListStudio>>;
    /**
     * Update performer
     * Updating the performer by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updatePerformer(requestParameters: UpdatePerformerRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebPerformerStudio>;
    updatePerformer(requestParameters: UpdatePerformerRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebPerformerStudio>>;
    updatePerformer(requestParameters: UpdatePerformerRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebPerformerStudio>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<PerformersService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<PerformersService>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

interface FileRequestParams {
    filename: string;
}
interface SystemServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     * Checking the availability
     * Checking the service availability.
*/
    check(extraHttpRequestParams?: any): Observable<CheckResultStudio>;
    /**
     * Getting the documentation
     * Getting the file with this service documentation.
* @param requestParameters
     */
    file(requestParameters: FileRequestParams, extraHttpRequestParams?: any): Observable<string>;
    /**
     * Getting the service version
     * Getting the service version.
*/
    version(extraHttpRequestParams?: any): Observable<VersionResultStudio>;
}

declare class SystemService extends BaseService implements SystemServiceInterface {
    protected httpClient: HttpClient;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration?: Configuration);
    /**
     * Checking the availability
     * Checking the service availability.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    check(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<CheckResultStudio>;
    check(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<CheckResultStudio>>;
    check(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<CheckResultStudio>>;
    /**
     * Getting the documentation
     * Getting the file with this service documentation.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    file(requestParameters: FileRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/html' | 'text/plain' | 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<string>;
    file(requestParameters: FileRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/html' | 'text/plain' | 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<string>>;
    file(requestParameters: FileRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/html' | 'text/plain' | 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<string>>;
    /**
     * Getting the service version
     * Getting the service version.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    version(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<VersionResultStudio>;
    version(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<VersionResultStudio>>;
    version(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<VersionResultStudio>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<SystemService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<SystemService>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

interface CreateTransportRequestParams {
    fileKey: string;
    transportStudio: TransportStudio;
}
interface DeleteTransportRequestParams {
    fileKey: string;
    essenceKey: string;
}
interface DeleteTransportsBatchRequestParams {
    fileKey: string;
    requestBody: Array<string>;
}
interface DisableTransportsBatchRequestParams {
    fileKey: string;
    requestBody: Array<string>;
}
interface EnableTransportsBatchRequestParams {
    fileKey: string;
    requestBody: Array<string>;
}
interface ReadTransportRequestParams {
    fileKey: string;
    essenceKey: string;
}
interface ReadTransportsGeopointsRequestParams {
    fileKey: string;
    offset?: number;
    limit?: number;
    tableTransportFilterListStudio?: TableTransportFilterListStudio;
}
interface ReadTransportsMetricsRequestParams {
    fileKey: string;
    tableTransportMetricsFilterListStudio: TableTransportMetricsFilterListStudio;
}
interface ReadTransportsTableRequestParams {
    fileKey: string;
    offset?: number;
    limit?: number;
    sortField?: TableTransportColumnTypeStudio;
    sortCustomfield?: TableCustomfieldsColumnTypeStudio;
    sortDirection?: 'ASC' | 'DESC';
    tableTransportFilterListStudio?: TableTransportFilterListStudio;
}
interface UpdateTransportRequestParams {
    fileKey: string;
    transportStudio: TransportStudio;
}
interface TransportsServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     * Create transport
     * Creating a transport.
* @param requestParameters
     */
    createTransport(requestParameters: CreateTransportRequestParams, extraHttpRequestParams?: any): Observable<WebTransportStudio>;
    /**
     * Remove transport
     * Removing a transport by key.
* @param requestParameters
     */
    deleteTransport(requestParameters: DeleteTransportRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Delete transports (batch)
     * Removing transports from the file.
* @param requestParameters
     */
    deleteTransportsBatch(requestParameters: DeleteTransportsBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Disable transports
     * Disable transports in the calculation.
* @param requestParameters
     */
    disableTransportsBatch(requestParameters: DisableTransportsBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Enable transports
     * Enable transports in the calculation.
* @param requestParameters
     */
    enableTransportsBatch(requestParameters: EnableTransportsBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Reading transport
     * Getting transport information by key.
* @param requestParameters
     */
    readTransport(requestParameters: ReadTransportRequestParams, extraHttpRequestParams?: any): Observable<WebTransportStudio>;
    /**
     * Transport geopoints
     * Getting a geopoints.
* @param requestParameters
     */
    readTransportsGeopoints(requestParameters: ReadTransportsGeopointsRequestParams, extraHttpRequestParams?: any): Observable<WebTransportGeopointListStudio>;
    /**
     * Transport metrics
     * Calculate general metrics for selected transports.
* @param requestParameters
     */
    readTransportsMetrics(requestParameters: ReadTransportsMetricsRequestParams, extraHttpRequestParams?: any): Observable<TableTransportMetricsStudio>;
    /**
     * Transport list
     * Getting a transport list.
* @param requestParameters
     */
    readTransportsTable(requestParameters: ReadTransportsTableRequestParams, extraHttpRequestParams?: any): Observable<TableTransportListStudio>;
    /**
     * Update transport
     * Updating a transport by its key.
* @param requestParameters
     */
    updateTransport(requestParameters: UpdateTransportRequestParams, extraHttpRequestParams?: any): Observable<WebTransportStudio>;
}

declare class TransportsService extends BaseService implements TransportsServiceInterface {
    protected httpClient: HttpClient;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration?: Configuration);
    /**
     * Create transport
     * Creating a transport.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createTransport(requestParameters: CreateTransportRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebTransportStudio>;
    createTransport(requestParameters: CreateTransportRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebTransportStudio>>;
    createTransport(requestParameters: CreateTransportRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebTransportStudio>>;
    /**
     * Remove transport
     * Removing a transport by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteTransport(requestParameters: DeleteTransportRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteTransport(requestParameters: DeleteTransportRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteTransport(requestParameters: DeleteTransportRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Delete transports (batch)
     * Removing transports from the file.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteTransportsBatch(requestParameters: DeleteTransportsBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteTransportsBatch(requestParameters: DeleteTransportsBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteTransportsBatch(requestParameters: DeleteTransportsBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Disable transports
     * Disable transports in the calculation.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    disableTransportsBatch(requestParameters: DisableTransportsBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    disableTransportsBatch(requestParameters: DisableTransportsBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    disableTransportsBatch(requestParameters: DisableTransportsBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Enable transports
     * Enable transports in the calculation.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    enableTransportsBatch(requestParameters: EnableTransportsBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    enableTransportsBatch(requestParameters: EnableTransportsBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    enableTransportsBatch(requestParameters: EnableTransportsBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Reading transport
     * Getting transport information by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readTransport(requestParameters: ReadTransportRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebTransportStudio>;
    readTransport(requestParameters: ReadTransportRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebTransportStudio>>;
    readTransport(requestParameters: ReadTransportRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebTransportStudio>>;
    /**
     * Transport geopoints
     * Getting a geopoints.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readTransportsGeopoints(requestParameters: ReadTransportsGeopointsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebTransportGeopointListStudio>;
    readTransportsGeopoints(requestParameters: ReadTransportsGeopointsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebTransportGeopointListStudio>>;
    readTransportsGeopoints(requestParameters: ReadTransportsGeopointsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebTransportGeopointListStudio>>;
    /**
     * Transport metrics
     * Calculate general metrics for selected transports.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readTransportsMetrics(requestParameters: ReadTransportsMetricsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<TableTransportMetricsStudio>;
    readTransportsMetrics(requestParameters: ReadTransportsMetricsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<TableTransportMetricsStudio>>;
    readTransportsMetrics(requestParameters: ReadTransportsMetricsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<TableTransportMetricsStudio>>;
    /**
     * Transport list
     * Getting a transport list.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readTransportsTable(requestParameters: ReadTransportsTableRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<TableTransportListStudio>;
    readTransportsTable(requestParameters: ReadTransportsTableRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<TableTransportListStudio>>;
    readTransportsTable(requestParameters: ReadTransportsTableRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<TableTransportListStudio>>;
    /**
     * Update transport
     * Updating a transport by its key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updateTransport(requestParameters: UpdateTransportRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebTransportStudio>;
    updateTransport(requestParameters: UpdateTransportRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebTransportStudio>>;
    updateTransport(requestParameters: UpdateTransportRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebTransportStudio>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<TransportsService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TransportsService>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

interface ApproveTripsBatchRequestParams {
    fileKey: string;
    requestBody: Array<string>;
}
interface CreateTripRequestParams {
    fileKey: string;
    tripStudio: TripStudio;
}
interface DeleteCustomTracksRequestParams {
    fileKey: string;
}
interface DeleteTripRequestParams {
    fileKey: string;
    essenceKey: string;
}
interface DeleteTripsBatchRequestParams {
    fileKey: string;
    requestBody: Array<string>;
}
interface LoadCustomTracksRequestParams {
    fileKey: string;
    trackListCustomStudio?: TrackListCustomStudio;
}
interface ReadRoundtripsMetricsRequestParams {
    fileKey: string;
    tableRoundtripMetricsFilterListStudio: TableRoundtripMetricsFilterListStudio;
}
interface ReadRoundtripsTableRequestParams {
    fileKey: string;
    offset?: number;
    limit?: number;
    sortField?: TableRoundtripColumnTypeStudio;
    sortCustomfield?: TableCustomfieldsColumnTypeStudio;
    sortDirection?: 'ASC' | 'DESC';
    tableRoundtripFilterListStudio?: TableRoundtripFilterListStudio;
}
interface ReadTripRequestParams {
    fileKey: string;
    essenceKey: string;
}
interface ReadTripStopsRequestParams {
    fileKey: string;
    essenceKey: string;
    offset?: number;
    limit?: number;
    sortField?: TableTripStopColumnTypeStudio;
    sortCustomfield?: TableCustomfieldsColumnTypeStudio;
    sortDirection?: 'ASC' | 'DESC';
    tableTripStopFilterListStudio?: TableTripStopFilterListStudio;
}
interface ReadTripsChartsRequestParams {
    fileKey: string;
    offset?: number;
    limit?: number;
    sortField?: TableTripColumnTypeStudio;
    sortDirection?: 'ASC' | 'DESC';
    tableTripFilterListStudio?: TableTripFilterListStudio;
}
interface ReadTripsMetricsRequestParams {
    fileKey: string;
    tableTripMetricsFilterListStudio: TableTripMetricsFilterListStudio;
}
interface ReadTripsTableRequestParams {
    fileKey: string;
    offset?: number;
    limit?: number;
    sortField?: TableTripColumnTypeStudio;
    sortCustomfield?: TableCustomfieldsColumnTypeStudio;
    sortDirection?: 'ASC' | 'DESC';
    tableTripFilterListStudio?: TableTripFilterListStudio;
}
interface ReadTripsTracksRequestParams {
    fileKey: string;
    tracksType: TrackTypeStudio;
    offset?: number;
    limit?: number;
    tableTripFilterListStudio?: TableTripFilterListStudio;
}
interface RejectTripsBatchRequestParams {
    fileKey: string;
    requestBody: Array<string>;
}
interface UpdateTripRequestParams {
    fileKey: string;
    tripStudio: TripStudio;
}
interface TripsServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     * Approve trips (batch)
     * Batch approve trips. Sets the attribute &#x60;TRIP_VERIFIED &#x3D; false&#x60; for each trip.
* @param requestParameters
     */
    approveTripsBatch(requestParameters: ApproveTripsBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Trip create
     * Creating a trip.
* @param requestParameters
     */
    createTrip(requestParameters: CreateTripRequestParams, extraHttpRequestParams?: any): Observable<WebTripStudio>;
    /**
     * Remove custom tracks
     * Remove custom all tracks.
* @param requestParameters
     */
    deleteCustomTracks(requestParameters: DeleteCustomTracksRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Delete trip
     * Removing a trip by key.
* @param requestParameters
     */
    deleteTrip(requestParameters: DeleteTripRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Delete trips (batch)
     * Removing trips from the wave.
* @param requestParameters
     */
    deleteTripsBatch(requestParameters: DeleteTripsBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Load custom tracks
     * Load custom tracks.
* @param requestParameters
     */
    loadCustomTracks(requestParameters: LoadCustomTracksRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Roundrips metrics
     * Calculate general metrics for selected roundrips.
* @param requestParameters
     */
    readRoundtripsMetrics(requestParameters: ReadRoundtripsMetricsRequestParams, extraHttpRequestParams?: any): Observable<TableRoundtripMetricsStudio>;
    /**
     * Reading roundrips (table)
     * Getting a roundrips list.
* @param requestParameters
     */
    readRoundtripsTable(requestParameters: ReadRoundtripsTableRequestParams, extraHttpRequestParams?: any): Observable<TableRoundtripListStudio>;
    /**
     * Read trip
     * Getting trip information by key.
* @param requestParameters
     */
    readTrip(requestParameters: ReadTripRequestParams, extraHttpRequestParams?: any): Observable<WebTripStudio>;
    /**
     * Trip stops list
     * Getting a trip stops list.
* @param requestParameters
     */
    readTripStops(requestParameters: ReadTripStopsRequestParams, extraHttpRequestParams?: any): Observable<TableTripStopListStudio>;
    /**
     * Trips chart
     * Getting a trips for chart.
* @param requestParameters
     */
    readTripsCharts(requestParameters: ReadTripsChartsRequestParams, extraHttpRequestParams?: any): Observable<WebTripChartListStudio>;
    /**
     * Trips metrics
     * Calculate general metrics for selected trips.
* @param requestParameters
     */
    readTripsMetrics(requestParameters: ReadTripsMetricsRequestParams, extraHttpRequestParams?: any): Observable<TableTripMetricsStudio>;
    /**
     * Reading trips (table)
     * Getting a trips list.
* @param requestParameters
     */
    readTripsTable(requestParameters: ReadTripsTableRequestParams, extraHttpRequestParams?: any): Observable<TableTripListStudio>;
    /**
     * Trip tracks
     * Getting a tracks.
* @param requestParameters
     */
    readTripsTracks(requestParameters: ReadTripsTracksRequestParams, extraHttpRequestParams?: any): Observable<TrackListStudio>;
    /**
     * Reject trips (batch)
     * Batch reject trips. Sets the attribute &#x60;TRIP_VERIFIED &#x3D; false&#x60; for each trip.
* @param requestParameters
     */
    rejectTripsBatch(requestParameters: RejectTripsBatchRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Trip update
     * Updating a trip by key.
* @param requestParameters
     */
    updateTrip(requestParameters: UpdateTripRequestParams, extraHttpRequestParams?: any): Observable<WebTripStudio>;
}

declare class TripsService extends BaseService implements TripsServiceInterface {
    protected httpClient: HttpClient;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration?: Configuration);
    /**
     * Approve trips (batch)
     * Batch approve trips. Sets the attribute &#x60;TRIP_VERIFIED &#x3D; false&#x60; for each trip.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    approveTripsBatch(requestParameters: ApproveTripsBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    approveTripsBatch(requestParameters: ApproveTripsBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    approveTripsBatch(requestParameters: ApproveTripsBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Trip create
     * Creating a trip.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createTrip(requestParameters: CreateTripRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebTripStudio>;
    createTrip(requestParameters: CreateTripRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebTripStudio>>;
    createTrip(requestParameters: CreateTripRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebTripStudio>>;
    /**
     * Remove custom tracks
     * Remove custom all tracks.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteCustomTracks(requestParameters: DeleteCustomTracksRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteCustomTracks(requestParameters: DeleteCustomTracksRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteCustomTracks(requestParameters: DeleteCustomTracksRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Delete trip
     * Removing a trip by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteTrip(requestParameters: DeleteTripRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteTrip(requestParameters: DeleteTripRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteTrip(requestParameters: DeleteTripRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Delete trips (batch)
     * Removing trips from the wave.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteTripsBatch(requestParameters: DeleteTripsBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteTripsBatch(requestParameters: DeleteTripsBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteTripsBatch(requestParameters: DeleteTripsBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Load custom tracks
     * Load custom tracks.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    loadCustomTracks(requestParameters: LoadCustomTracksRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    loadCustomTracks(requestParameters: LoadCustomTracksRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    loadCustomTracks(requestParameters: LoadCustomTracksRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Roundrips metrics
     * Calculate general metrics for selected roundrips.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readRoundtripsMetrics(requestParameters: ReadRoundtripsMetricsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<TableRoundtripMetricsStudio>;
    readRoundtripsMetrics(requestParameters: ReadRoundtripsMetricsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<TableRoundtripMetricsStudio>>;
    readRoundtripsMetrics(requestParameters: ReadRoundtripsMetricsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<TableRoundtripMetricsStudio>>;
    /**
     * Reading roundrips (table)
     * Getting a roundrips list.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readRoundtripsTable(requestParameters: ReadRoundtripsTableRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<TableRoundtripListStudio>;
    readRoundtripsTable(requestParameters: ReadRoundtripsTableRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<TableRoundtripListStudio>>;
    readRoundtripsTable(requestParameters: ReadRoundtripsTableRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<TableRoundtripListStudio>>;
    /**
     * Read trip
     * Getting trip information by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readTrip(requestParameters: ReadTripRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebTripStudio>;
    readTrip(requestParameters: ReadTripRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebTripStudio>>;
    readTrip(requestParameters: ReadTripRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebTripStudio>>;
    /**
     * Trip stops list
     * Getting a trip stops list.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readTripStops(requestParameters: ReadTripStopsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<TableTripStopListStudio>;
    readTripStops(requestParameters: ReadTripStopsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<TableTripStopListStudio>>;
    readTripStops(requestParameters: ReadTripStopsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<TableTripStopListStudio>>;
    /**
     * Trips chart
     * Getting a trips for chart.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readTripsCharts(requestParameters: ReadTripsChartsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebTripChartListStudio>;
    readTripsCharts(requestParameters: ReadTripsChartsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebTripChartListStudio>>;
    readTripsCharts(requestParameters: ReadTripsChartsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebTripChartListStudio>>;
    /**
     * Trips metrics
     * Calculate general metrics for selected trips.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readTripsMetrics(requestParameters: ReadTripsMetricsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<TableTripMetricsStudio>;
    readTripsMetrics(requestParameters: ReadTripsMetricsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<TableTripMetricsStudio>>;
    readTripsMetrics(requestParameters: ReadTripsMetricsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<TableTripMetricsStudio>>;
    /**
     * Reading trips (table)
     * Getting a trips list.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readTripsTable(requestParameters: ReadTripsTableRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<TableTripListStudio>;
    readTripsTable(requestParameters: ReadTripsTableRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<TableTripListStudio>>;
    readTripsTable(requestParameters: ReadTripsTableRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<TableTripListStudio>>;
    /**
     * Trip tracks
     * Getting a tracks.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readTripsTracks(requestParameters: ReadTripsTracksRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<TrackListStudio>;
    readTripsTracks(requestParameters: ReadTripsTracksRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<TrackListStudio>>;
    readTripsTracks(requestParameters: ReadTripsTracksRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<TrackListStudio>>;
    /**
     * Reject trips (batch)
     * Batch reject trips. Sets the attribute &#x60;TRIP_VERIFIED &#x3D; false&#x60; for each trip.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    rejectTripsBatch(requestParameters: RejectTripsBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    rejectTripsBatch(requestParameters: RejectTripsBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    rejectTripsBatch(requestParameters: RejectTripsBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Trip update
     * Updating a trip by key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updateTrip(requestParameters: UpdateTripRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<WebTripStudio>;
    updateTrip(requestParameters: UpdateTripRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<WebTripStudio>>;
    updateTrip(requestParameters: UpdateTripRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<WebTripStudio>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<TripsService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TripsService>;
}

/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.37.3331
 * Contact: support@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */

interface CreateUserSettingsRequestParams {
    settingsKey: string;
    requestBody: {
        [key: string]: any;
    };
}
interface DeleteUserSettingsRequestParams {
    settingsKey: string;
}
interface ReadUserSettingsRequestParams {
    settingsKey: string;
}
interface SetUserSettingsActiveKeyRequestParams {
    body: string;
}
interface UpdateUserSettingsRequestParams {
    settingsKey: string;
    requestBody: {
        [key: string]: any;
    };
}
interface UserServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     * Create user settings
     * Create user settings.
* @param requestParameters
     */
    createUserSettings(requestParameters: CreateUserSettingsRequestParams, extraHttpRequestParams?: any): Observable<{
        [key: string]: any;
    }>;
    /**
     * Delete user settings
     * Delete user settings.
* @param requestParameters
     */
    deleteUserSettings(requestParameters: DeleteUserSettingsRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Reading user settings list
     * Reading the list of user settings keys.
*/
    listUserSettings(extraHttpRequestParams?: any): Observable<SettingsKeyListStudio>;
    /**
     * Reading user settings
     * Reading user settings.
* @param requestParameters
     */
    readUserSettings(requestParameters: ReadUserSettingsRequestParams, extraHttpRequestParams?: any): Observable<{
        [key: string]: any;
    }>;
    /**
     * Setting the active user settings key
     * Setting the active user settings key.
* @param requestParameters
     */
    setUserSettingsActiveKey(requestParameters: SetUserSettingsActiveKeyRequestParams, extraHttpRequestParams?: any): Observable<SettingsKeyListStudio>;
    /**
     * Update user settings
     * Update user settings.
* @param requestParameters
     */
    updateUserSettings(requestParameters: UpdateUserSettingsRequestParams, extraHttpRequestParams?: any): Observable<{
        [key: string]: any;
    }>;
}

declare class UserService extends BaseService implements UserServiceInterface {
    protected httpClient: HttpClient;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration?: Configuration);
    /**
     * Create user settings
     * Create user settings.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createUserSettings(requestParameters: CreateUserSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<{
        [key: string]: any;
    }>;
    createUserSettings(requestParameters: CreateUserSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<{
        [key: string]: any;
    }>>;
    createUserSettings(requestParameters: CreateUserSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<{
        [key: string]: any;
    }>>;
    /**
     * Delete user settings
     * Delete user settings.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteUserSettings(requestParameters: DeleteUserSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<any>;
    deleteUserSettings(requestParameters: DeleteUserSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<any>>;
    deleteUserSettings(requestParameters: DeleteUserSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<any>>;
    /**
     * Reading user settings list
     * Reading the list of user settings keys.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    listUserSettings(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<SettingsKeyListStudio>;
    listUserSettings(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<SettingsKeyListStudio>>;
    listUserSettings(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<SettingsKeyListStudio>>;
    /**
     * Reading user settings
     * Reading user settings.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readUserSettings(requestParameters: ReadUserSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<{
        [key: string]: any;
    }>;
    readUserSettings(requestParameters: ReadUserSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<{
        [key: string]: any;
    }>>;
    readUserSettings(requestParameters: ReadUserSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<{
        [key: string]: any;
    }>>;
    /**
     * Setting the active user settings key
     * Setting the active user settings key.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    setUserSettingsActiveKey(requestParameters: SetUserSettingsActiveKeyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<SettingsKeyListStudio>;
    setUserSettingsActiveKey(requestParameters: SetUserSettingsActiveKeyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<SettingsKeyListStudio>>;
    setUserSettingsActiveKey(requestParameters: SetUserSettingsActiveKeyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<SettingsKeyListStudio>>;
    /**
     * Update user settings
     * Update user settings.
     * @param requestParameters
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updateUserSettings(requestParameters: UpdateUserSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<{
        [key: string]: any;
    }>;
    updateUserSettings(requestParameters: UpdateUserSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<{
        [key: string]: any;
    }>>;
    updateUserSettings(requestParameters: UpdateUserSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<{
        [key: string]: any;
    }>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<UserService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<UserService>;
}

declare const APIS: (typeof BackupsService | typeof CustomFieldsService | typeof CustomIconsService | typeof ExperimentsService | typeof ExplorerService | typeof ExternalRoutingService | typeof FactsService | typeof HardlinksService | typeof LocationsService | typeof OrdersService | typeof PerformersService | typeof SystemService | typeof TransportsService | typeof TripsService | typeof UserService)[];

declare const BASE_PATH: InjectionToken<string>;
declare const COLLECTION_FORMATS: {
    csv: string;
    tsv: string;
    ssv: string;
    pipes: string;
};

declare class LssStudioApiModule {
    static forRoot(configurationFactory: () => Configuration): ModuleWithProviders<LssStudioApiModule>;
    constructor(parentModule: LssStudioApiModule, http: HttpClient);
    static ɵfac: i0.ɵɵFactoryDeclaration<LssStudioApiModule, [{ optional: true; skipSelf: true; }, { optional: true; }]>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<LssStudioApiModule, never, never, never>;
    static ɵinj: i0.ɵɵInjectorDeclaration<LssStudioApiModule>;
}

declare function provideApi(configOrBasePath: string | ConfigurationParameters): EnvironmentProviders;

export { APIS, BASE_PATH, BackupsService, BasicProcessStudio, BasicStateStudio, BreakRulesStudioRelocatingDurationTypeEnum, COLLECTION_FORMATS, CalculationStatusStudio, CargoActionTypeStudio, CargoInvoiceTaxStudio, CargoRotationTypeStudio, Configuration, CustomFieldsService, CustomIconsService, CustomfieldEntityTypeStudio, DemandTypeStudio, EntityErrorTypeStudio, EntityTypeStudio, EntityWarningTypeStudio, ExperimentsService, ExplorerService, ExternalRoutingService, FactStatusStudio, FactTypeStudio, FactsService, FilesystemColumnTypeStudio, FolderTypeStudio, HardlinkElementTypeStudio, HardlinksService, ImportSampleStudio, ImportSourceStudio, LinkedEssenceStudioEssenceTypeEnum, LocationsService, LssStudioApiModule, OrdersService, PerformersService, ServiceStudio, SystemService, TableCustomfieldsColumnTypeStudio, TableExperimentColumnTypeStudio, TableFactColumnTypeStudio, TableFactFieldsStudioEssenceTypeEnum, TableFilterTypeStudio, TableHardlinkColumnTypeStudio, TableHardlinkFieldsStudioEssenceTypeEnum, TableLocationColumnTypeStudio, TableLocationFieldsStudioEssenceTypeEnum, TableOrderColumnTypeStudio, TableOrderFieldsStudioEssenceTypeEnum, TablePerformerColumnTypeStudio, TablePerformerFieldsStudioEssenceTypeEnum, TableRoundtripColumnTypeStudio, TableRoundtripFieldsStudioEssenceTypeEnum, TableTransportColumnTypeStudio, TableTransportFieldsStudioEssenceTypeEnum, TableTripColumnTypeStudio, TableTripFieldsStudioEssenceTypeEnum, TableTripStopColumnTypeStudio, TableTripStopFieldsStudioEssenceTypeEnum, TrackTypeStudio, TransportTypeStudio, TransportsService, TripStartTimeStrategyStudio, TripStateFlagStudio, TripStatusStudio, TripsService, UserService, WebPerformerGeopointStudioPointTypeEnum, WebTransportGeopointStudioPointTypeEnum, provideApi };
export type { ActualizeSettingsStudio, ApproveTripsBatchRequestParams, AssignedPerformerStudio, AssignedTransportStudio, AttributeStudio, BackupsServiceInterface, BoxCompatibilitiesStudio, BoxLimitsStudio, BoxStudio, BreakRulesStudio, BreakStudio, CalculationHistoryElementStudio, CalculationInfoStudio, CalculationSettingsStudio, CalculationStateStudio, CapacityCostStudio, CapacityLimitStudio, CapacityMultiplierStudio, CapacityStatisticsLoadStudio, CapacityStatisticsRatioStudio, CapacityStatisticsSumStudio, CapacityStudio, CargoActionStudio, CargoCompatibilitiesStudio, CargoInvoiceDetailStudio, CargoInvoiceHonestSignStudio, CargoInvoiceReceiptStudio, CargoInvoiceStudio, CargoStudio, CheckResultStudio, CompatibilityPenaltyStudio, ConfigurationParameters, CreateBackupRequestParams, CreateCustomfieldsSettingsRequestParams, CreateCustomiconsSettingsRequestParams, CreateExperimentRequestParams, CreateExternalroutingRequestParams, CreateFactRequestParams, CreateFolderRequestParams, CreateFoldersBatchRequestParams, CreateHardlinkRequestParams, CreateLocationRequestParams, CreateOrderRequestParams, CreatePerformerRequestParams, CreateTransportRequestParams, CreateTripRequestParams, CreateUserSettingsRequestParams, CustomFieldsServiceInterface, CustomIconsServiceInterface, CustomfieldConvertRuleStudio, CustomfieldsSettingsStudio, DataFormat, DataType, DeleteCustomTracksRequestParams, DeleteCustomfieldsSettingsRequestParams, DeleteCustomiconsSettingsRequestParams, DeleteExperimentRequestParams, DeleteExternalroutingRequestParams, DeleteFactRequestParams, DeleteFactsBatchRequestParams, DeleteFilesBatchRequestParams, DeleteFolderRequestParams, DeleteFoldersBatchRequestParams, DeleteHardlinkRequestParams, DeleteHardlinksBatchRequestParams, DeleteLocationRequestParams, DeleteLocationsBatchRequestParams, DeleteOrderRequestParams, DeleteOrdersBatchRequestParams, DeletePerformerRequestParams, DeletePerformersBatchRequestParams, DeleteTransportRequestParams, DeleteTransportsBatchRequestParams, DeleteTripRequestParams, DeleteTripsBatchRequestParams, DeleteUserSettingsRequestParams, DemandExtraDurationStudio, DemandStudio, DisableFactsBatchRequestParams, DisableHardlinksBatchRequestParams, DisableOrdersBatchRequestParams, DisablePerformersBatchRequestParams, DisableSharingBatchRequestParams, DisableTransportsBatchRequestParams, DuplicateExperimentRequestParams, EnableFactsBatchRequestParams, EnableHardlinksBatchRequestParams, EnableOrdersBatchRequestParams, EnablePerformersBatchRequestParams, EnableSharingBatchRequestParams, EnableTransportsBatchRequestParams, EntityErrorStudio, EntityPathStudio, EntityWarningStudio, ExperimentCheckStudio, ExperimentListStudio, ExperimentNeighborsStudio, ExperimentSettingsStudio, ExperimentStatisticsStudio, ExperimentStudio, ExperimentsServiceInterface, ExplorerServiceInterface, ExportJsonRequestParams, ExportXlsxRequestParams, ExtensionSettingsStudio, ExternalRoutingServiceInterface, FactLoreStudio, FactStudio, FactsServiceInterface, FeatureLifetimeStudio, FileNamePathStudio, FileRequestParams, FileSpecificationStudio, FilesystemCountersStudio, FilesystemPathStudio, FilesystemStudio, FolderCountersStudio, FolderSpecificationStudio, FolderStudio, General400Studio, General402Studio, General403Studio, General404DetailStudio, General404Studio, General429Studio, General500Studio, GeneralStatisticsStudio, GeoSettingsStudio, GeopointStudio, GlobalSearchRequestParams, HardlinkElementStudio, HardlinkStudio, HardlinksServiceInterface, ImportJsonRequestParams, ImportJsonTracedataRequestParams, ImportJsonUrlRequestParams, ImportXlsxRequestParams, LinkedEssenceStudio, LoadCustomTracksRequestParams, LoadStatisticsStudio, LocationCargosLimitStudio, LocationCompatibilitiesStudio, LocationLimitStatisticsStudio, LocationLimitStudio, LocationStatisticsStudio, LocationStudio, LocationTimetableElementStudio, LocationTransportsLimitStudio, LocationsServiceInterface, LoreDemandCancelledStudio, LoreDemandDoneStudio, LoreDemandStartStudio, LoreJobDoneStudio, LoreNewLocationStudio, LoreOrderDoneStudio, LoreTripPrecedenceChangedStudio, MeasurementsStudio, OrderCompatibilitiesStudio, OrderStudio, OrdersServiceInterface, Param, ParamLocation, ParamStyle, PerformerCompatibilitiesStudio, PerformerLimitsStudio, PerformerShiftStudio, PerformerStudio, PerformerTariffConstraintStudio, PerformerTariffStudio, PerformersServiceInterface, PlanSettingsStudio, PlanStatisticsStudio, PossibleEventStudio, QualityStudio, ReadCustomfieldsSettingsRequestParams, ReadCustomiconsSettingsRequestParams, ReadExperimentCalculationHistoryRequestParams, ReadExperimentNeighborsRequestParams, ReadExperimentPathRequestParams, ReadExperimentRequestParams, ReadExternalroutingRequestParams, ReadFactRequestParams, ReadFactsMetricsRequestParams, ReadFactsTableRequestParams, ReadFileKeyRequestParams, ReadFilesystemRequestParams, ReadFolderKeyRequestParams, ReadFolderPathRequestParams, ReadFolderRequestParams, ReadFolderSpecificationRequestParams, ReadHardlinkRequestParams, ReadHardlinksMetricsRequestParams, ReadHardlinksTableRequestParams, ReadLocationRequestParams, ReadLocationsGeopointsRequestParams, ReadLocationsMetricsRequestParams, ReadLocationsTableRequestParams, ReadOrderRequestParams, ReadOrdersGeopointsRequestParams, ReadOrdersMetricsRequestParams, ReadOrdersTableRequestParams, ReadPerformerRequestParams, ReadPerformersGeopointsRequestParams, ReadPerformersMetricsRequestParams, ReadPerformersTableRequestParams, ReadRoundtripsMetricsRequestParams, ReadRoundtripsTableRequestParams, ReadTransportRequestParams, ReadTransportsGeopointsRequestParams, ReadTransportsMetricsRequestParams, ReadTransportsTableRequestParams, ReadTripRequestParams, ReadTripStopsRequestParams, ReadTripsChartsRequestParams, ReadTripsMetricsRequestParams, ReadTripsTableRequestParams, ReadTripsTracksRequestParams, ReadUserSettingsRequestParams, RejectTripsBatchRequestParams, RemovedItemsStudio, ReplanSettingsStudio, ReplanStrategyStudio, RestRulesStudio, RestStudio, RestoreBackupRequestParams, RoundtripStatisticsStudio, RoutingMatrixStudio, RoutingMatrixWaypointStudio, RoutingTransportMatrixStudio, RunExperimentCalculationRequestParams, RunExperimentRecalculateStatsRequestParams, RunExperimentRecalculateTracksRequestParams, RunExperimentRefineRequestParams, RunExperimentValidationRequestParams, SchemaErrorStudio, SetCustomfieldsSettingsActiveKeyRequestParams, SetCustomiconsSettingsActiveKeyRequestParams, SetUserSettingsActiveKeyRequestParams, SettingsKeyListStudio, StandardDataFormat, StandardDataType, StandardParamStyle, StopDemandStudio, StopExperimentCalculationRequestParams, StopStatisticsStudio, SystemServiceInterface, TableCustomfieldsStudio, TableDataStatsStudio, TableFactFieldsStudio, TableFactFilterListStudio, TableFactFilterStudio, TableFactListStudio, TableFactMetricsFilterListStudio, TableFactMetricsStudio, TableFactStudio, TableFilterBoolListStudio, TableFilterDatetimeRangeStudio, TableFilterDurationRangeStudio, TableFilterEnumListStudio, TableFilterFloatRangeStudio, TableFilterIntRangeStudio, TableFilterStringListStudio, TableFilterStringSearchStudio, TableHardlinkFieldsStudio, TableHardlinkFilterListStudio, TableHardlinkFilterStudio, TableHardlinkListStudio, TableHardlinkMetricsFilterListStudio, TableHardlinkMetricsStudio, TableHardlinkStudio, TableListCountersDetailStudio, TableListCountersStudio, TableLocationFieldsStudio, TableLocationFilterListStudio, TableLocationFilterStudio, TableLocationListStudio, TableLocationMetricsFilterListStudio, TableLocationMetricsStudio, TableLocationStudio, TableOrderFieldsStudio, TableOrderFilterListStudio, TableOrderFilterStudio, TableOrderListStudio, TableOrderMetricsFilterListStudio, TableOrderMetricsStudio, TableOrderStudio, TablePerformerFieldsStudio, TablePerformerFilterListStudio, TablePerformerFilterStudio, TablePerformerListStudio, TablePerformerMetricsFilterListStudio, TablePerformerMetricsStudio, TablePerformerStudio, TableRoundtripFieldsStudio, TableRoundtripFilterListStudio, TableRoundtripFilterStudio, TableRoundtripListStudio, TableRoundtripMetricsFilterListStudio, TableRoundtripMetricsStudio, TableRoundtripStudio, TableTransportFieldsStudio, TableTransportFilterListStudio, TableTransportFilterStudio, TableTransportListStudio, TableTransportMetricsFilterListStudio, TableTransportMetricsStudio, TableTransportStudio, TableTripFieldsStudio, TableTripFilterListStudio, TableTripFilterStudio, TableTripListStudio, TableTripMetricsFilterListStudio, TableTripMetricsStudio, TableTripStopFieldsStudio, TableTripStopFilterListStudio, TableTripStopFilterStudio, TableTripStopListStudio, TableTripStopStudio, TableTripStudio, TaskStatisticsStudio, TimeWindowStudio, TimeWindowViolationDetailStudio, TimeWindowViolationsStudio, TracedataStudio, TrackListCustomStudio, TrackListStudio, TrackStudio, TrackpointStudio, TranslationsStudio, TransportCapacityMultiplierStudio, TransportCompatibilitiesStudio, TransportLimitsStudio, TransportLoadStudio, TransportShiftStudio, TransportSpeedMultiplierStudio, TransportStudio, TransportTariffConstraintStudio, TransportTariffStudio, TransportsServiceInterface, TripAssumptionsStudio, TripDemandPrecedenceStudio, TripExpectationsStudio, TripPenaltiesStudio, TripStateStudio, TripStatisticsStudio, TripStudio, TripsServiceInterface, TripsSettingsStudio, Universal400WithErrorsAndWarningsStudio, UniversalDataStudio, UnplannedItemsStudio, UpdateCustomfieldsSettingsRequestParams, UpdateCustomiconsSettingsRequestParams, UpdateExperimentIndicatorsRequestParams, UpdateExperimentRequestParams, UpdateExperimentSettingsRequestParams, UpdateExternalroutingRequestParams, UpdateFactRequestParams, UpdateFolderRequestParams, UpdateHardlinkRequestParams, UpdateLocationRequestParams, UpdateOrderRequestParams, UpdatePerformerRequestParams, UpdateTransportRequestParams, UpdateTripRequestParams, UpdateUserSettingsRequestParams, UserServiceInterface, VersionResultStudio, WebFactStudio, WebHardlinkStudio, WebLocationGeopointListStudio, WebLocationGeopointStudio, WebLocationStudio, WebOrderGeopointListStudio, WebOrderGeopointStudio, WebOrderStudio, WebPerformerGeopointListStudio, WebPerformerGeopointStudio, WebPerformerStudio, WebTransportGeopointListStudio, WebTransportGeopointStudio, WebTransportStudio, WebTripChartDemandStudio, WebTripChartListStudio, WebTripChartStudio, WebTripStudio, WorkAndRestRulesStudio };
