import { OptimizeRequest, uuid } from '@bringg/types';
import { ExecuteActionOptions } from '../Application/Application.consts';
import { CommonOptions } from '../Core/RouteGenerator';
import Session from '../Services/Identity/Session';
import { AssignUserManualData, OptimizationData, OptimizationResponseFailed, OptimizationResponseSuccess, OptimizationResult, RouteOptimizationRequest, RouteOptimizationResponse, TeamsToOptimize, UpdateOptimizationModifiedData } from './RouteOptimization.consts';
export default class RouteOptimizationApi {
    private readonly service;
    private optimization;
    private get_optimization_result;
    private cancel_requests;
    private assign_users_by_ids;
    private assign_users_by_ids_in_background_process;
    private update_user_modified_data;
    private assign_user_manual_optimization;
    constructor(session: Session);
    cancelRequests(requestUuids: string[]): Promise<{
        success: boolean;
    }>;
    optimize(optimizationProps: RouteOptimizationRequest): Promise<OptimizationResponseSuccess | OptimizationResponseFailed>;
    optimizationResult(request_uuid: uuid): Promise<OptimizationResult>;
    assignUsersByIds(teams: TeamsToOptimize, isBackgroundProcess?: boolean): Promise<RouteOptimizationResponse>;
    updateOptimizationModifiedData(updateData: UpdateOptimizationModifiedData): Promise<RouteOptimizationResponse>;
    assignUserManualOptimization(updateData: AssignUserManualData): Promise<RouteOptimizationResponse>;
    calculatePlannedEta(data: OptimizeRequest, { timeout, ...options }?: ExecuteActionOptions & CommonOptions): Promise<OptimizationData[]>;
}
