import { HttpParams } from '@angular/common/http'; import { Action, FlowEnd, FlowStart } from '@metromobilite/m-features/core'; import { Itinerary, ItineraryWrapper, RouteSearchParams, ROUTE_SORT_FIELD, ItineraryMeta } from '../../route-search.model'; import { DisturbancesCollection } from '@metromobilite/m-features/dyn'; export declare enum CALCULATE_ACTIONS { START = "MF_CALCULATE_START", RESULT = "MF_CALCULATE_RESULT", REQUEST = "MF_CALCULATE_REQUEST", SORT = "MF_CALCULATE_SORT", FILTER = "MF_CALCULATE_FILTER", WRAP = "MF_CALCULATE_WRAP" } export interface CalculatePayload { params: RouteSearchParams; sort: ROUTE_SORT_FIELD; order: 'asc' | 'desc'; requestsParams?: HttpParams[]; } export interface CalculateRequestPayload extends CalculatePayload { requestsParams: HttpParams[]; } export interface MetaPayload extends CalculatePayload { results: MetaPayloadData; disturbances?: DisturbancesCollection; } export interface MetaPayloadData { meta: ItineraryMeta; itineraries: T[]; } export interface Payload { disturbances?: DisturbancesCollection; order?: 'asc' | 'desc'; params?: RouteSearchParams; requestsParams?: HttpParams[]; results?: MetaPayloadData; sort?: ROUTE_SORT_FIELD; } export interface CalculateFilterPayload extends CalculatePayload { results: Itinerary[]; disturbances?: DisturbancesCollection; } export interface CalculateSortPayload extends CalculatePayload { results: ItineraryWrapper[]; } export declare class CalculateStartAction extends FlowStart { payload?: CalculatePayload; name: CALCULATE_ACTIONS; constructor(payload?: CalculatePayload); } export declare class CalculateResultAction extends FlowEnd { results: MetaPayloadData; name: CALCULATE_ACTIONS; constructor(results: MetaPayloadData); } export declare class CalculateRequestAction extends Action { payload: Payload; name: CALCULATE_ACTIONS; constructor(payload: Payload); } export declare class CalculateSortAction extends Action { payload: Payload; name: CALCULATE_ACTIONS; constructor(payload: Payload); } export declare class CalculateFilterAction extends Action { payload: Payload; name: CALCULATE_ACTIONS; constructor(payload: Payload); } export declare class CalculateWrapItinerariesAction extends Action { payload: Payload; name: CALCULATE_ACTIONS; constructor(payload: Payload); }