import { Response } from './response'; import { CodeDescription, RawCodeDescription } from '../helpers/codeDescription'; import { Location, RawLocation } from '../helpers/location'; import { SchemaSwitch } from '../helpers/schemaSwitch'; export declare enum TASchemaVersion { 'v1' = "1", 'v1Dot1' = "1.1", 'v1Dot3' = "1.3", 'v1Dot4' = "1.4", 'v1Dot5' = "1.5", 'v1Dot6' = "1.6" } export declare type TASchemaVersions = TASchemaVersion | '1' | '1.1' | '1.3' | '1.4' | '1.5' | '1.6'; export declare type DefaultSchemaVersion = '1.6'; export declare const defaultSchemaVersion: TASchemaVersions & DefaultSchemaVersion; declare type AboveV1Dot6 = TASchemaVersion.v1Dot6; declare type AboveV1Dot5 = TASchemaVersion.v1Dot5 | AboveV1Dot6; declare type AboveV1Dot4 = TASchemaVersion.v1Dot4 | AboveV1Dot5; declare type AboveV1Dot3 = TASchemaVersion.v1Dot3 | AboveV1Dot4; declare type AboveV1Dot1 = TASchemaVersion.v1Dot1 | AboveV1Dot3; declare type TASchemaSwitch = SchemaSwitch; declare type Booking = TASchemaSwitch; declare type Deviation = TASchemaSwitch; declare type OtherInformation = TASchemaSwitch; declare type ProductInformation = TASchemaSwitch; declare type Service = TASchemaSwitch; declare type TrainComposition = TASchemaSwitch; declare type TypeOfTraffic = TASchemaSwitch; declare type FromLocation = TASchemaSwitch; declare type ToLocation = TASchemaSwitch; declare type ViaFromLocation = TASchemaSwitch; declare type ViaToLocation = TASchemaSwitch; declare type NewEquipment = TASchemaSwitch; declare type TechnicalTrainIdentity = TASchemaSwitch; declare type Operator = TASchemaSwitch; declare type PlannedEstimatedTimeAtLocationIsValid = TASchemaSwitch; declare type TrainOwner = TASchemaSwitch; declare type WebLinkName = TASchemaSwitch; declare type TechnicalDateTime = TASchemaSwitch; declare type TimeAtLocationWithSeconds = TASchemaSwitch; declare type PlannedEstimatedTimeAtLocation = TASchemaSwitch; export interface RawTrainAnnouncementPayload { ActivityId: string; ActivityType: string; Advertised: boolean; AdvertisedTimeAtLocation: string; AdvertisedTrainIdent: string; Booking: Booking; Cancled: boolean; Deleted: boolean; Deviation: Deviation; EstimatedTimeAtLocation: string; EstimatedTimeIsPreliminary: boolean; FromLocation: FromLocation; LocationSignature: string; MobileWebLink: string; ModifiedTime: string; NewEquipment: NewEquipment; Operator: Operator; OtherInformation: OtherInformation; PlannedEstimatedTimeAtLocation: PlannedEstimatedTimeAtLocation; PlannedEstimatedTimeAtLocationIsValid: PlannedEstimatedTimeAtLocationIsValid; ProductInformation: ProductInformation; ScheduledDepartureDateTime: string; Service: Service; TechnicalDateTime: TechnicalDateTime; TechnicalTrainIdent: TechnicalTrainIdentity; TimeAtLocation: string; TimeAtLocationWithSeconds: TimeAtLocationWithSeconds; ToLocation: ToLocation; TrackAtLocation: string; TrainComposition: TrainComposition; TrainOwner: TrainOwner; TypeOfTraffic: TypeOfTraffic; WebLink: string; WebLinkName: WebLinkName; ViaFromLocation: ViaFromLocation; ViaToLocation: ViaToLocation; } export declare class TrainAnnouncement extends Response { activityId: string; activityType: string; advertised: boolean; advertisedTimeAtLocation: Date; advertisedTrainIdentity: string; booking: Booking; cancled: boolean; deleted: boolean; deviation: Deviation; estimtedTimeAtLocation: Date; estimatedTimeIsPreliminary: boolean; fromLocation: FromLocation; informationOwner: string; locationSignature: string; mobileWebLink: string; modifiedTime: Date; newEquipment?: NewEquipment; operator?: Operator; otherInformation: OtherInformation; plannedEstimatedTimeAtLocation?: PlannedEstimatedTimeAtLocation; plannedEstimatedTimeAtLocationIsValid?: PlannedEstimatedTimeAtLocationIsValid; productInformation: ProductInformation; scheduledDepartureDateTime: Date; service: Service; technicalDateTime?: TechnicalDateTime; technicalTrainIdentity?: TechnicalTrainIdentity; timeAtLocation: Date; timeAtLocationWithSeconds?: TimeAtLocationWithSeconds; toLocation: ToLocation; trackAtLocation: string; trainComposition: TrainComposition; trainOwner?: TrainOwner; typeOfTraffic: TypeOfTraffic; webLink: string; webLinkName?: WebLinkName; viaFromLocation?: ViaFromLocation; viaToLocation?: ViaToLocation; constructor(payload: RawTrainAnnouncementPayload, schema: T); } export {};