import { Response } from './response'; import { County } from '../helpers/county'; import { RawTrafficImpact, TrafficImpact as TI } from '../helpers/trafficImpact'; import { SchemaSwitch } from '../helpers/schemaSwitch'; import { RawGeometry, Geometry } from '../helpers/geometry'; import { CodeDescription, RawCodeDescription } from '../helpers/codeDescription'; export declare enum TMSchemaVersion { 'v1' = "1", 'v1Dot3' = "1.3", 'v1Dot4' = "1.4", 'v1Dot5' = "1.5" } export declare type TMSchemaVersions = TMSchemaVersion | '1' | '1.3' | '1.4' | '1.5'; export declare type DefaultSchemaVersion = '1.5'; export declare const defaultSchemaVersion: TMSchemaVersions & DefaultSchemaVersion; declare type AboveV1Dot5 = TMSchemaVersion.v1Dot5; declare type AboveV1Dot4 = TMSchemaVersion.v1Dot4 | AboveV1Dot5; declare type AboveV1Dot3 = TMSchemaVersion.v1Dot3 | AboveV1Dot4; declare type TASchemaSwitch = SchemaSwitch; declare type EndDateTime = TASchemaSwitch; declare type ExpectTrafficImpact = TASchemaSwitch; declare type Header = TASchemaSwitch; declare type PrognosticatedEndDateTimeTrafficImpact = TASchemaSwitch; declare type TrafficImpact = TASchemaSwitch; declare type ReasonCodeText = TASchemaSwitch; declare type ReasonCode = TASchemaSwitch; export interface RawTrainMessagePayload { AffectedLocation: string[]; CountyNo: number[]; Deleted: boolean; EndDateTime: EndDateTime; EventId: string; ExpectTrafficImpact: ExpectTrafficImpact; ExternalDescription: string; Geometry: RawGeometry; Header: Header; LastUpdateDateTime: string; ModifiedTime: string; PrognosticatedEndDateTimeTrafficImpact: PrognosticatedEndDateTimeTrafficImpact; ReasonCodeText: ReasonCodeText; ReasonCode: ReasonCode; StartDateTime: string; TrafficImpact: TrafficImpact; } export declare class TrainMessage extends Response { affectedLocation: string[]; counties: County[]; deleted: boolean; endDate: EndDateTime; eventId: string; expectTrafficImpact: ExpectTrafficImpact; externalDescription: string; geometry: Geometry; header: Header; lastUpdate: Date; modified: Date; prognosticatedEndDateTimeTrafficImpact: PrognosticatedEndDateTimeTrafficImpact; reasonCodeText: ReasonCodeText; reasonCode: ReasonCode; startDate: Date; trafficImpact: TrafficImpact; constructor(payload: RawTrainMessagePayload, schema: T); } export {};