import { AirNavigationUnitId, Colours, Cost, Dataset, DateTimeMinute, DateTimeMinutePeriod, DateTimeSecond, DistanceM, DistanceNM, Duration, DurationHourMinute, DurationHourMinuteSecond, DurationMinute, FlightLevelM, Latitude, Longitude, NMList, NMSet, Position, ReceivedOrSent, ReplyWithData, ShiftHourMinute, SignedDurationHourMinuteSecond, TimeHourMinutePeriod, WeightKg } from "../Common/types.js";
import { AerodromeICAOId, AerodromeOrPublishedPointId, AerodromeSetId, AirSpeed, AirspaceId, AirspaceType, FIRICAOId, FlightLevel, FlightPlanProcessing, ICAOPoint, LoadState, NetworkAddress, NonPublishedPoint, PublishedPointId, RestrictionId, RouteOrTerminalProcedure, RunwayId, TerminalProcedure, TrafficVolumeId } from "../Airspace/types.js";
import { CountsCalculationType, CountsInterval, FlightAtfcmMeasureLocation, FlightHotspotLocation, FlightMCDMInfo, FlightRegulationLocation, Flow, FlowId, MeasureId, OtmvStatus, RegulationCause, RegulationId, ReroutingId, TrafficVolumeScenarios } from "../Flow/types.js";

//#region src/Flight/types.d.ts
type IFPLId = string;
type FlightDataset = 'flight' | 'flightPlan' | 'flightPlanHistory';
type FlightIdentificationInput = {
  id: IFPLId;
} | {
  keys: FlightKeys;
} | {
  iataKeys: IATAFlightKeys;
};
interface FlightIdentificationOutput {
  id?: IFPLId;
  keys?: FlightKeys;
}
type AircraftICAOId = string;
type ExtendedAircraftICAOId = string;
type AircraftRegistrationMark = string;
type ICAOAircraftAddress = string;
type SSRCode = string;
type SSRMode = 'A';
type AircraftTypeICAOId = string;
type OtherAircraftTypeDesignation_DataType = string;
type AircraftOperatorICAOId = string;
type AircraftIATAId = string;
type FlightTrend = 'CLIMB' | 'CRUISE' | 'DESCENT' | 'NONE';
type FlightState = 'ATC_ACTIVATED' | 'CANCELLED' | 'FILED' | 'FILED_SLOT_ALLOCATED' | 'FILED_SLOT_ISSUED' | 'PLANNED' | 'PLANNED_REROUTED' | 'PLANNED_SLOT_ALLOCATED' | 'PLANNED_SLOT_ALLOCATED_REROUTED' | 'TACT_ACTIVATED' | 'TERMINATED';
type ATFMMessageType = 'DES' | 'ERR' | 'FCM' | 'FLS' | 'FUM' | 'REA' | 'RFI' | 'RJT' | 'RRN' | 'RRP' | 'SAM' | 'SIP' | 'SLC' | 'SMM' | 'SPA' | 'SJR' | 'SRM' | 'SWM' | 'UNK';
interface FlightKeys {
  aircraftId: ExtendedAircraftICAOId;
  aerodromeOfDeparture?: AerodromeICAOId;
  nonICAOAerodromeOfDeparture?: boolean;
  airFiled: boolean;
  aerodromeOfDestination?: AerodromeICAOId;
  nonICAOAerodromeOfDestination?: boolean;
  estimatedOffBlockTime: DateTimeMinute;
}
type IATAFlightKeys = {
  flightDesignator: AircraftIATAId;
  estimatedOffBlockTime: DateTimeMinute;
};
interface TimeAndModel {
  model: TrafficType;
  dateTime: DateTimeSecond;
}
type TrafficType = 'DEMAND' | 'LOAD' | 'REGULATED_DEMAND';
type FlightField = 'divertedAerodromeOfDestination' | 'readyEstimatedOffBlockTime' | 'cdmEstimatedOffBlockTime' | 'calculatedOffBlockTime' | 'actualOffBlockTime' | 'aircraftType' | 'estimatedTakeOffTime' | 'calculatedTakeOffTime' | 'actualTakeOffTime' | 'ctotShiftAlreadyAppliedByTower' | 'taxiTime' | 'currentDepartureTaxiTimeAndProcedure' | 'revisionTimes' | 'estimatedTimeOfArrival' | 'calculatedTimeOfArrival' | 'actualTimeOfArrival' | 'requestedFlightLevel' | 'timeAtReferenceLocationEntry' | 'timeAtReferenceLocationExit' | 'flightLevelAtReferenceLocationEntry' | 'flightLevelAtReferenceLocationExit' | 'trendAtReferenceLocationEntry' | 'trendAtReferenceLocationExit' | 'trendAtReferenceLocationMiddle' | 'lateFiler' | 'lateUpdater' | 'suspensionStatus' | 'suspensionInfo' | 'exclusionFromRegulations' | 'famStatus' | 'readyStatus' | 'aircraftOperator' | 'operatingAircraftOperator' | 'reroutingIndicator' | 'newRouteMinShiftDelayImprovement' | 'reroutable' | 'cdm' | 'slotIssued' | 'proposalInformation' | 'bestReroutingIndicator' | 'exemptedFromRegulations' | 'delay' | 'delayCharacteristics' | 'mostPenalisingRegulation' | 'hasOtherRegulations' | 'regulationLocations' | 'atfcmMeasureLocations' | 'lastATFMMessageType' | 'lastATFMMessageReceivedOrSent' | 'runwayVisualRange' | 'confirmedCTFM' | 'requestedInitialFlightLevel' | 'requestedInitialSpeed' | 'estimatedElapsedTime' | 'filingRule' | 'initialFPLMessageOriginator' | 'lastFPLMessageOriginator' | 'icaoRoute' | 'routeLength' | 'defaultReroutingRequestedFlightLevel' | 'defaultReroutingRequestedSpeed' | 'departureTolerance' | 'mostPenalisingRegulationCause' | 'lastATFMMessageOriginator' | 'ftfmPointProfile' | 'rtfmPointProfile' | 'ctfmPointProfile' | 'ftfmAirspaceProfile' | 'rtfmAirspaceProfile' | 'ctfmAirspaceProfile' | 'ftfmRequestedFlightLevels' | 'rtfmRequestedFlightLevels' | 'ctfmRequestedFlightLevels' | 'flightHistory' | 'operationalLog' | 'equipmentCapabilityAndStatus' | 'ftfmRestrictionProfile' | 'rtfmRestrictionProfile' | 'ctfmRestrictionProfile' | 'cfmuFlightType' | 'ccamsSSRCode' | 'filedRegistrationMark' | 'isProposalFlight' | 'hasBeenForced' | 'caughtInHotspots' | 'hotspots' | 'mcdmInfo' | 'worstLoadStateAtReferenceLocation' | 'compareWithOtherTrafficType' | 'ctotLimitReason' | 'profileValidity' | 'targetTimeOverFix' | 'flightState' | 'lastKnownPosition' | 'highestModelPointProfile' | 'highestModelAirspaceProfile' | 'highestModelRestrictionProfile' | 'slotSwapCounter' | 'slotSwapCandidateList' | 'aircraftAddress' | 'arrivalInformation' | 'slotZone' | 'flightDataVersionNr' | 'applicableScenarios' | 'apiSubmissionRules' | 'avoidedRegulations' | 'routeChargeIndicator' | 'fuelConsumptionIndicator' | 'excludedRegulations' | 'yoyoFlightForLocation' | 'turnFlightForLocation' | 'minimumRequestedRVR' | 'wakeTurbulenceCategory' | 'alternateAerodromes' | 'flightCriticality' | 'oceanicReroute' | 'visibility';
type FlightPlanOutput = {
  structured: StructuredFlightPlan;
};
interface BasicTrajectoryData {
  takeOffWeight?: WeightKg;
  topOfClimb?: Array<Relative4DPoint>;
  topOfDescent?: Array<Relative4DPoint>;
  bottomOfClimb?: Array<Relative4DPoint>;
  bottomOfDescent?: Array<Relative4DPoint>;
  distanceAtLocationInfo?: DistanceAtLocation;
}
type DistanceAtLocation = {
  adesDAL?: AerodromeDAL;
  dalPoints?: Array<PointDAL>;
};
type PointDAL = {
  point: ICAOPoint;
  cumulativeDistance: DistanceM;
};
type AerodromeDAL = {
  aerodrome: AerodromeICAOId;
  cumulativeDistance: DistanceM;
};
type Relative4DPoint = {
  cumulativeDistance: DistanceM;
  altitude: FlightLevelM;
  elapsedTime: Duration;
};
interface DepartureData {
  taxiTime: DurationMinute;
}
type FIXMFlight = Record<string, unknown>;
interface StructuredFlightPlan {
  flightPlan?: FlightPlan;
  basicTrajectoryData?: BasicTrajectoryData;
  departureData?: DepartureData;
}
type FlightPlanHistory = {
  infos?: Array<FlightPlanHistoryInfo>;
};
type FlightPlanHistoryInfo = {
  timeStamp?: DateTimeSecond;
  checkPoint?: string;
  mode?: string;
  msgIn?: string;
  msgOut?: string;
  addresses?: Array<string>;
  detail?: string;
};
interface Flight {
  flightId: FlightIdentificationOutput;
  divertedAerodromeOfDestination?: AerodromeICAOId;
  aircraftType?: AircraftTypeICAOId;
  readyEstimatedOffBlockTime?: DateTimeMinute;
  cdmEstimatedOffBlockTime?: DateTimeMinute;
  calculatedOffBlockTime?: DateTimeMinute;
  actualOffBlockTime?: DateTimeMinute;
  revisionTimes?: {
    timeToInsertInSequence?: DurationHourMinute;
    timeToRemoveFromSequence?: DurationHourMinute;
  };
  estimatedTakeOffTime?: DateTimeMinute;
  calculatedTakeOffTime?: DateTimeMinute;
  actualTakeOffTime?: DateTimeMinute;
  ctotShiftAlreadyAppliedByTower?: ShiftHourMinute;
  requestedFlightLevel?: FlightLevel;
  taxiTime?: DurationHourMinute;
  currentDepartureTaxiTimeAndProcedure?: TaxiTimeAndProcedure;
  estimatedTimeOfArrival?: DateTimeMinute;
  calculatedTimeOfArrival?: DateTimeMinute;
  actualTimeOfArrival?: DateTimeMinute;
  lateFilter?: boolean;
  lateUpdater?: boolean;
  suspensionStatus?: SuspensionStatus;
  suspensionInfo?: string;
  famStatus?: FAMStatus;
  readyStatus?: ReadyStatus;
  aircraftOperator?: AircraftOperatorICAOId;
  operatingAircraftOperator?: AircraftOperatorICAOId;
  reroutingIndicator?: ReroutingIndicator;
  newRouteMinShiftDelayImprovement?: DurationHourMinute;
  reroutable?: 'CANNOT_BE_REROUTED' | 'TRY_ALLOWED' | 'TRY_AND_APPLY_ALLOWED';
  cdm?: CDM;
  slotIssued?: boolean;
  proposalInformation?: ProposalInformation;
  timeAtReferenceLocationEntry?: TimeAndModel;
  timeAdReferenceLocationExit?: TimeAndModel;
  flightLevelAtReferenceLocationEntry?: FlightLevel;
  flightLevelAtReferenceLocationExit?: FlightLevel;
  trendAtReferenceLocationEntry?: FlightTrend;
  trendAtReferenceLocationExit?: FlightTrend;
  trendAtReferenceLocationMiddle?: FlightTrend;
  bestReroutingIndicator?: GroupReroutingSummary;
  exemptedFromRegulations?: boolean;
  delay?: DurationHourMinute;
  delayCharacteristics?: 'ADJUSTED_TO_CLOCK' | 'EXCEEDS_DELAY_CONFIRMATION';
  mostPenalisingRegulation?: RegulationId;
  hasOtherRegulations?: boolean;
  regulationLocations?: FlightRegulationLocation[];
  atfcmMeasureLocations?: NMSet<FlightAtfcmMeasureLocation>;
  lastATFMMessageType?: ATFMMessageType;
  lastATFMMessageReceivedOrSent?: ReceivedOrSent;
  runwayVisualRange?: DistanceM;
  minimumRequestedRVR?: DistanceM;
  confirmedCTFM?: DistanceNM;
  exclusionFromRegulations?: ExclusionFromRegulations;
  requestedInitialFlightLevel?: FlightLevel;
  requestedInitialSpeed?: AirSpeed;
  estimatedElapsedTime?: DurationHourMinute;
  filingRule?: 'FILING_ALLOWED_BY_AO_CFMU' | 'NOT_AUTHORISED' | 'OPERATOR_MUST_REFILE';
  initialFPLMessageOriginator?: MessageOriginator;
  lastFPLMessageOriginator?: MessageOriginator;
  icaoRoute?: string;
  routeLength?: DistanceNM;
  defaultReroutingRequestedFlightLevel?: FlightLevel;
  defaultReroutingRequestedSpeed?: AirSpeed;
  departureTolerance?: DepartureTolerance;
  mostPenalisingRegulationCause?: RegulationCause;
  lastATFMMessageOriginator?: MessageOriginator;
  ftfmPointProfile?: FlightPoint[];
  rtfmPointProfile?: FlightPoint[];
  ctfmPointProfile?: FlightPoint[];
  ftfmAirspaceProfile?: FlightAirspace[];
  rtfmAirspaceProfile?: FlightAirspace[];
  ctfmAirspaceProfile?: FlightAirspace[];
  ftfmRequestedFlightLevels?: RequestedFlightLevel[];
  rtfmRequestedFlightLevels?: RequestedFlightLevel[];
  ctfmRequestedFlightLevels?: RequestedFlightLevel[];
  ftfmTrafficVolumeProfile?: FlightTrafficVolume[];
  rtfmTrafficVolumeProfile?: FlightTrafficVolume[];
  ctfmTrafficVolumeProfile?: FlightTrafficVolume[];
  flightHistory?: FlightEvent[];
  operationalLog?: FlightOperationalLogEntry[];
  equipmentCapabilityAndStatus?: EquipmentCapabilityAndStatus;
  ftfmRestrictionProfile?: FlightRestriction[];
  rtfmRestrictionProfile?: FlightRestriction[];
  ctfmRestrictionProfile?: FlightRestriction[];
  cfmuFlightType?: CfmuFlightType;
  ccamsSSRCode?: SSRCode;
  filedRegistrationMark?: AircraftRegistrationMark;
  isProposalFlight?: boolean;
  proposalExists?: boolean;
  hasBeenForced?: boolean;
  caughtInHotspots?: number;
  hotspots?: FlightHotspotLocation[];
  mcdmInfo?: FlightMCDMInfo;
  worstLoadStateAtReferenceLocation?: LoadStateAtReferenceLocation;
  compareWithOtherTrafficType?: DeltaEntry;
  ctotLimitReason?: CTOTLimitReason;
  profileValidity?: ProfileValidity;
  targetTimeOverFix?: TargetTime;
  flightState?: FlightState;
  lastKnownPosition?: FourDPosition;
  slotSwapCounter?: {
    currentCounter: number;
    maxLimit: number;
  };
  slotSwapCandidateList?: NMList<{
    ifplId: IFPLId;
    subjectDeltaDelayMinutes: number;
    candidateDeltaDelayMinutes: number;
    swapDecideByTime: DateTimeMinute;
  }>;
  aircraftAddress?: ICAOAircraftAddress;
  arrivalInformation?: ArrivalInformation;
  slotZone?: {
    beforeCTO: DurationMinute;
    afterCTO: DurationMinute;
  };
  flightDataVersionNr?: number;
  applicableScenarios?: NMList<TrafficVolumeScenarios>;
  apiSubmissionRules?: APISubmissionRules;
  avoidedRegulations?: NMSet<RegulationId>;
  routeChargeIndicator?: number;
  fuelConsumptionIndicator?: number;
  excludedRegulations?: NMSet<RegulationId>;
  yoyoFlightForLocation?: YoYoFlightForLocation;
  turnFlightForLocation?: TurnFlightForLocation;
  wakeTurbulenceCategory?: WakeTurbulenceCategory;
  alternateAerodromes?: NMList<AerodromeICAOId>;
  flightCriticality?: FlightCriticalityIndicator;
  oceanicRoute?: boolean;
  visibility?: FlightVisibility;
  iataFlightDesignator?: AircraftIATAIdFromDataSource;
  activeACDMAlerts?: NMList<ACDMAlertData>;
  aoReroutingFeedbacks?: NMList<ReroutingFeedback>;
}
type ReroutingFeedbackKind = 'LIKE' | 'DISLIKE';
type ReroutingFeedbackReason = 'TOTAL_COST' | 'FUEL_SAVINGS' | 'ROUTE_CHARGES' | 'ATFM_DELAY_VALUE' | 'DISTANCE' | 'FLYING_TIME' | 'OBT_VALIDITY' | 'AO_INTERNAL_REASONS' | 'OTHER';
type ReroutingFeedback = {
  kind: ReroutingFeedbackKind;
  icaoRoute: string;
  reason: ReroutingFeedbackReason;
  comment?: string;
  reroutingId?: ReroutingId;
};
type ACDMAlertCode = string;
type ACDMAlertSeverity = 'HIGH' | 'MEDIUM' | 'LOW';
type ACDMAlertData = {
  alertCode: ACDMAlertCode;
  timestamp: DateTimeMinute;
  inconsistencyDetected: string;
  actionToTake: string;
  consequencesNote?: string;
  severity?: ACDMAlertSeverity;
};
type AircraftIATAIdFromDataSource = {
  id: AircraftIATAId;
  dataSource: AircraftIdDataSource;
};
type AircraftIdDataSource = 'DDR' | 'API' | 'DPI' | 'FPM';
type FlightTrafficVolume = {
  trafficVolumeId: TrafficVolumeId;
  entryTime: DateTimeSecond;
  entryFlightLevel?: FlightLevel;
  entryTrend: FlightTrend;
  middleTrend: FlightTrend;
  exitTime: DateTimeSecond;
  exitFlightLevel?: FlightLevel;
  exitTrend: FlightTrend;
  activated: boolean;
  exempted: boolean;
  flows: NMList<Flow>;
};
type FlightVisibility = 'NO_VISIBILITY' | 'VISIBLE' | 'INVISIBLE' | 'INVISIBLE_BEFORE_VISIBLE' | 'VISIBLE_AFTER_INVISIBLE' | 'VISIBLE_BEFORE_INVISIBLE' | 'VISIBLE_BETWEEN_INVISIBLE' | 'VISIBLE_WITH_SKIPOUT';
type APISubmissionRules = {
  latestSubmissionTargetTakeOffAPI?: DateTimeMinute;
  earliestSubmissionTargetTimeOverAPI?: DateTimeMinute;
};
type WakeTurbulenceCategory = 'HEAVY' | 'LIGHT' | 'MEDIUM' | 'SUPER';
type FlightCriticalityIndicator = {
  kind: FlightCriticalityKind;
  comment?: string;
};
type GroupReroutingSummary = {
  groupReroutingIndicator: GroupReroutingIndicator;
  reroutingId: ReroutingId;
  deltaCost: Cost;
  deltaDelay?: SignedDurationHourMinuteSecond;
};
type GroupReroutingIndicator = 'NO_REROUTING' | 'UNINTERESTING' | 'INTERESTING' | 'OPPORTUNITY' | 'EXECUTED';
type FlightCriticalityKind = 'CRITICAL_DUE_TO_AIRFRAME_UTILISATION' | 'CRITICAL_DUE_TO_AIRPORT_CLOSURE' | 'CRITICAL_DUE_TO_CREW_TIME' | 'CRITICAL_DUE_TO_NOISE_ABATEMENT' | 'CRITICAL_DUE_TO_OTHER_REASONS' | 'CRITICAL_DUE_TO_PASSENGER_CONNECTIONS' | 'CRITICAL_DUE_TO_PASSENGER_DELAY_COMPENSATION' | 'CRITICAL_DUE_TO_TURNAROUND_CRITICAL';
type TurnFlightForLocation = {
  ftfmTurn: TurnFlightForLocationKind;
  locationModelTurnKind: TurnFlightForLocationKind;
};
type TurnFlightForLocationKind = 'CRITICAL_ELSEWHERE' | 'CRITICAL_INSIDE' | 'CRITICAL_SHARP_TURN' | 'NON_CRITICAL_ELSEWHERE' | 'NON_CRITICAL_INSIDE' | 'NON_CRITICAL_SHARP_TURN' | 'NO_SHARP_TURN';
type YoYoFlightForLocation = {
  ftfmYoYo: YoYoFlightForLocationKind;
  locationModelYoYoKind: YoYoFlightForLocationKind;
};
type YoYoFlightForLocationKind = 'CRITICAL_COMPLETELY_INSIDE' | 'CRITICAL_ELSEWHERE' | 'CRITICAL_ENDS_INSIDE' | 'CRITICAL_STARTS_INSIDE' | 'CRITICAL_YOYO' | 'LOCATION_INSIDE_CRITICAL' | 'LOCATION_INSIDE_NON_CRITICAL' | 'NON_CRITICAL_COMPLETELY_INSIDE' | 'NON_CRITICAL_ELSEWHERE' | 'NON_CRITICAL_ENDS_INSIDE' | 'NON_CRITICAL_STARTS_INSIDE' | 'NON_CRITICAL_YOYO' | 'NO_YOYO';
type ArrivalInformation = {
  flightStatusInbound?: ATVFlightStatusInbound;
  registrationMark?: AircraftRegistrationMark;
  aircraftType?: AircraftTypeICAOId;
  aircraftIATAId?: AircraftIATAId;
  arrivalTaxiTime?: DurationHourMinute;
  apiArrivalProcedure?: TerminalProcedure;
  nmArrivalProcedure?: TerminalProcedure;
  initialApproachFix?: PublishedPointId;
  arrivalRunway?: RunwayId;
  arrivalTerminal?: TerminalOrApronStandName;
  arrivalApronStand?: TerminalOrApronStandName;
  minimumTurnaroundTime?: DurationHourMinute;
  landingTime?: DateTimeMinute;
  scheduledInBlockTime?: DateTimeMinute;
  inBlockTime?: DateTimeMinute;
  airportSlotArrival?: DateTimeMinute;
  impactSeverityIndicator?: ImpactSeverityIndicator;
  coordinationFix?: AerodromeOrPublishedPointId;
  targetTimeOver?: DateTimeMinute;
  earliestTargetTimeOver?: DateTimeMinute;
  consolidatedTargetTimeOver?: DateTimeMinute;
  calculatedTimeOver?: DateTimeMinute;
  regulationId?: RegulationId;
  minCalculatedTimeOver?: DateTimeMinute;
  maxCalculatedTimeOver?: DateTimeMinute;
  estimatedOrActualTimeOver?: DateTimeMinute;
};
type ImpactSeverityIndicator = 'E' | 'EI' | 'L' | 'LI' | 'LIP' | 'OT';
type ProposalInformation = {
  proposalKink: ProposalKind;
  responseBy: DateTimeMinute;
  proposedCTOT?: DateTimeMinute;
  routeId?: ReroutingRouteId;
  reroutingId?: ReroutingId;
};
type ReroutingRouteId = {
  routeType: ReroutingRouteType;
  standardRouteId: StandardRouteId;
};
type StandardRouteId = {
  from: AerodromeICAOId;
  to: AerodromeICAOId;
  seqNr: number;
};
type ReroutingRouteType = 'GENERATED' | 'STANDARD' | 'USER' | 'VERTICAL';
type ProposalKind = 'DELAY_CONF' | 'RRP' | 'RVR' | 'SIP' | 'STAM_SLOT';
type MessageOriginator = {
  airNavigationUnitId: AirNavigationUnitId;
} | {
  address: NetworkAddress;
};
type TaxiTimeAndProcedure = {
  taxiTime: DurationHourMinute;
  taxiTimeSource: TaxiTimeSource;
  terminalProcedure?: TerminalProcedure;
};
type TaxiTimeSource = 'ENV' | 'FPL' | 'RWY' | 'REA' | 'CDM';
type SuspensionStatus = 'AIRPORT_SUSPENSION' | 'DELAY_CONFIRMATION' | 'FLIGHT_PLAN_REVALIDATION' | 'MANUAL_SUSPENSION' | 'NOT_REPORTED_AS_AIRBORNE' | 'NOT_SUSPENDED' | 'REGULATION_CONFIRMATION' | 'SLOT_MISSED' | 'TRAFFIC_VOLUMES_CONDITION' | 'V_MANUAL_SUSPENSION';
type FAMStatus = 'AIRBORNE_WHEN_SHIFTED_BY_FAM' | 'AIRBORNE_WHEN_SUSPENDED_BY_FAM' | 'NOT_UNDER_FAM' | 'SHIFTED_BY_FAM' | 'SUBJECT_TO_FAM' | 'SUSPENDED_BY_FAM' | 'WAS_SHIFTED_BY_FAM' | 'WAS_SUBJECT_TO_FAM' | 'WAS_SUSPENDED_BY_FAM';
interface ReadyStatus {
  readyForImprovement?: boolean;
  readyToDepart: boolean;
  revisedTaxiTime?: DurationHourMinute;
}
interface ReroutingIndicator {
  rerouted: boolean;
  reason?: ReroutingReason;
  state?: ReroutingState;
}
type ReroutingReason = 'AO' | 'ATC_PURPOSE_PROPOSAL' | 'ATFCM_PURPOSE_PROPOSAL' | 'ATFM_EXECUTED' | 'CDR_OPPORTUNITY_PROPOSAL' | 'FLIGHT_EFFICIENCY_PURPOSE_PROPOSAL' | 'STAM_PURPOSE_PROPOSAL';
type ReroutingState = 'EXECUTED' | 'NO_MATCH' | 'PRODUCED' | 'REJECTED' | 'REVOKED' | 'TIMED_OUT';
type OtherAerodromeDesignation = {
  aerodromeName?: string;
  aerodromeLocation?: NonPublishedPoint;
  firstLastRoutePoint?: ICAOPoint;
};
type Aerodrome = {
  icaoId: AerodromeICAOId;
} | {
  otherDesignation: OtherAerodromeDesignation;
};
interface AirFiledData {
  atsUnitId?: AtsUnitId_DataType;
  startingPoint: ICAOPoint;
  clearedLevel: FlightLevel;
  estimatedTimeOver: DateTimeSecond;
}
type AtsUnitId_DataType = string;
interface AlternateAerodrome {
  icaoId: AerodromeICAOId;
  nameLocationDescription: string;
}
interface AerodromesOfDestination {
  aerodromeOfDestination: Aerodrome;
  alternate1?: AlternateAerodrome;
  alternate2?: AlternateAerodrome;
}
type AlternateAerodrome_DataType = string;
interface SSRInfo {
  code: SSRCode;
  mode: SSRMode;
}
interface AircraftIdentification {
  aircraftId?: AircraftICAOId;
  registrationMark: AircraftRegistrationMark;
  aircraftAddress?: ICAOAircraftAddress;
  ssrInfo?: SSRInfo;
}
type AircraftType = {
  icaoId: AircraftTypeICAOId;
} | {
  otherDesignation: OtherAircraftTypeDesignation_DataType;
};
interface FlightPlan {
  ifplId?: IFPLId;
  airFiledData?: AirFiledData;
  aerodromeOfDeparture?: Aerodrome;
  aerodromesOfDestination?: AerodromesOfDestination;
  enrouteAlternateAerodromes?: AlternateAerodrome_DataType;
  takeOffAlternateAerodromes?: AlternateAerodrome_DataType;
  aircraftId?: AircraftIdentification;
  whatIfRerouteReference?: number;
  numberOfAircraft?: number;
  aircraftType?: AircraftType;
  totalEstimatedElapsedTime?: DurationHourMinute;
  eetsToLocations?: EstimatedElapsedTimeAtLocation[];
  wakeTurbulenceCategory?: WakeTurbulenceCategory;
  flightType?: FlightType;
  flightRules?: FlightRules;
  estimatedOffBlockTime: DateTimeMinute;
  icaoRoute?: string;
  stayInformation?: Array<string>;
  enrouteDelays?: Array<EnrouteDelay>;
  equipmentCapabilityAndStatus?: EquipmentCapabilityAndStatus;
  surveillanceEquipment?: SurveillanceEquipment;
  otherInformation?: OtherInformation;
  supplementaryInformation?: SupplementaryInformation;
}
type SupplementaryInformation = {
  fuelEndurance?: DurationHourMinute;
  numberOfPersons?: number;
  frequencyAvailability?: Array<FrequencyOnAircraft>;
  survivalEquipment?: Array<SurvivalEquipment>;
  otherSurvivalEquipment?: string;
  lifeJacketEquipment?: Array<LifeJacketEquipment>;
  dinghiesInformation?: Dinghies;
  aircraftColourAndMarkings?: string;
  pilotInCommand?: string;
};
type FrequencyOnAircraft = 'ELT' | 'UHF' | 'VHF';
type SurvivalEquipment = 'DESERT' | 'JUNGLE' | 'MARITIME' | 'POLAR';
type LifeJacketEquipment = 'FLUORESCEIN' | 'LIGHTS' | 'UHF' | 'VHF';
type Dinghies = {
  numberOfDinghies?: number;
  totalCapacity?: number;
  areCovered?: boolean;
  colours?: Colours;
};
type OtherInformation = {
  selCalCode: string;
  nameOfOperator?: AircraftOperatorName_DataType;
  reasonForSpecialHandling?: SpecialHandlingIndicators;
  aircraftPerformanceData?: AircraftPerformanceCategory;
  communicationEquipment?: string;
  datalinkCapabilities?: DatalinkCapabilities;
  navigationEquipment?: string;
  performanceBasedNavigationCodes?: Array<PerformanceBasedNavigationCode>;
  otherSurveillanceEquipments?: string;
  replacementFlightPlanIndicator?: number;
  runwayVisualRange?: DistanceM;
  reclearanceInFlight?: ReclearanceInFlight;
  otherRemarks?: Array<string>;
};
type ReclearanceInFlight = {
  icaoRoute: string;
  aerodrome: AerodromeICAOId;
};
type PerformanceBasedNavigationCode = 'BASIC_RNP_1_ALL' | 'BASIC_RNP_1_DME_DME' | 'BASIC_RNP_1_DME_DME_IRU' | 'BASIC_RNP_1_GNSS' | 'RNAV_10' | 'RNAV_1_ALL' | 'RNAV_1_DME_DME' | 'RNAV_1_DME_DME_IRU' | 'RNAV_1_GNSS' | 'RNAV_2_ALL' | 'RNAV_2_DME_DME' | 'RNAV_2_DME_DME_IRU' | 'RNAV_2_GNSS' | 'RNAV_5_ALL' | 'RNAV_5_DME_DME' | 'RNAV_5_GNSS' | 'RNAV_5_INS_OR_IRS' | 'RNAV_5_LORAN_C' | 'RNAV_5_VOR_DME' | 'RNP_4' | 'RNP_APCH' | 'RNP_APCH_BARO_VNAV' | 'RNP_AR_APCH_NO_RF' | 'RNP_AR_APCH_RF';
type DatalinkCapabilities = {
  value?: string;
};
type AircraftPerformanceCategory = 'CAT_A' | 'CAT_B' | 'CAT_C' | 'CAT_D' | 'CAT_E' | 'CAT_H';
type SpecialHandlingIndicators = {
  icaoSTSIndicators?: Array<ICAOSTSIndicator>;
  eurSTSIndicators?: Array<EURSTSIndicator>;
};
type ICAOSTSIndicator = 'ALTRV' | 'ATFMX' | 'FFR' | 'FLTCK' | 'HAZMAT' | 'HEAD' | 'HOSP' | 'HUM' | 'MARSA' | 'MEDEVAC' | 'NONRVSM' | 'SAR' | 'STATE';
type EURSTSIndicator = 'CPDLCX' | 'EXM833' | 'PROTECTED' | 'RNAVINOP' | 'RNAVX' | 'OAT';
type AircraftOperatorName_DataType = string;
type SurveillanceEquipment = {
  modeA?: EquipmentStatus;
  modeAAndC?: EquipmentStatus;
  modeS?: EquipmentStatus;
  modeSCapabilities?: ModeSCapabilities;
  adsb1900Out?: EquipmentStatus;
  adsb1900OutInt?: EquipmentStatus;
  adsbOutUAT?: EquipmentStatus;
  adsbOutInUAT?: EquipmentStatus;
  adsbOutVDL4?: EquipmentStatus;
  adsbOutInVDL4?: EquipmentStatus;
  adscFans?: EquipmentStatus;
  adscAtn?: EquipmentStatus;
};
type ModeSCapabilities = {
  aircraftIdentification?: EquipmentStatus;
  pressureAltitude?: EquipmentStatus;
  extendedSquitterADSB?: EquipmentStatus;
  enhancedSurveillance?: EquipmentStatus;
};
type FlightType = 'GENERAL' | 'MILITARY' | 'NOT_SCHEDULED' | 'OTHER' | 'SCHEDULED';
type EnrouteDelay = {
  delay?: DurationHourMinute;
  point?: ICAOPoint;
};
type FlightRules = 'IFR' | 'IFR_THEN_VFR' | 'VFR' | 'VFR_THEN_IFR';
type EstimatedElapsedTimeAtLocation = {
  elapsedTime: DurationHourMinute;
  fir?: FIRICAOId;
  point?: ICAOPoint;
  latitude?: Latitude;
  longitude?: Longitude;
};
interface CDM {
  status: 'ACTUAL_OFFBLOCK' | 'DEPARTING_FROM_CDM_AIRPORT' | 'DEPARTING_FROM_STANDARD_AIRPORT' | 'ESTIMATED' | 'PREDICTED' | 'PRE_SEQUENCED' | 'TARGETED';
  airportType: DepartureAirportType;
  info?: CDMInfo;
}
type DepartureAirportType = 'STANDARD' | 'ADVANCED_ATC_TWR' | 'CDM';
interface CDMInfo {
  turnaroundTargetTakeOffTime?: DateTimeMinute;
  earliestTargetTakeOffTime?: DateTimeMinute;
  consolidatedTargetTakeOffTime?: DateTimeMinute;
  atcTargetTakeOffTime?: DateTimeMinute;
  taxiTime?: DurationHourMinuteSecond;
  offBlockTimeDiscrepancy: boolean;
  flightStatusOutbound?: ATVFlightStatusOutbound;
  departureProc?: TerminalProcedure;
  departureRunway?: RunwayId;
  departureTerminal?: TerminalOrApronStandName;
  departureApronStand?: TerminalOrApronStandName;
  aircraftTypeDiscrepancy: boolean;
  aircraftType?: AircraftType;
  aircraftTypeIATA?: AircraftTypeIATAId;
  registrationMark?: AircraftRegistrationMark;
  registrationMarkDiscrepancy?: boolean;
  departureStatus: DepartureStatus;
  targetOffBlockTime?: DateTimeMinute;
  targetStartupApprovalTime?: DateTimeMinute;
  aircraftIdInbound?: AircraftICAOId;
  ifplIdInbound?: IFPLId;
  registrationMarkInbound?: AircraftRegistrationMark;
  cancelReason?: ReasonForDPICancellation;
}
type TerminalOrApronStandName = string;
type AircraftTypeIATAId = string;
type ReasonForDPICancellation = 'FLIGHT_CANCEL_IN_AODB' | 'FLIGHT_PLAN_INVALID' | 'NO_AIRPORT_SLOT' | 'RETURN_TO_STAND' | 'TOBT_UNKNOWN_OR_EXPIRED' | 'TSAT_EXPIRED' | 'UNDEFINED' | 'UNDO_ADPI';
type ATVFlightStatusOutbound = 'BRC' | 'BRD' | 'CNX' | 'DEI' | 'DEP' | 'INI' | 'OBK' | 'RDI' | 'RDY' | 'RET' | 'RPO' | 'RTN' | 'SCH' | 'TXD';
type ATVFlightStatusInbound = 'AIR' | 'CNX' | 'DBC' | 'BDR' | 'DIV' | 'FIR' | 'FNL' | 'GOA' | 'IBK' | 'IDH' | 'INI' | 'SCH' | 'TMA' | 'TXI';
type DepartureStatus = 'OK' | 'DEICING';
interface ExclusionFromRegulations {
  onTrafficVolume?: boolean;
  count?: number;
  all?: boolean;
  hasBeenExcluded: boolean;
}
interface ReroutingReference {
  name?: string;
  validTo?: DateTimeMinute;
}
interface DepartureTolerance {
  toleranceWindow: TimeHourMinutePeriod;
  extended: boolean;
}
interface FlightPoint {
  timeOver: DateTimeSecond;
  flightLevel: FlightLevel;
  entryTrend: FlightTrend;
  exitTrend: FlightTrend;
  associatedRouteOrTerminalProcedure?: RouteOrTerminalProcedure;
  coveredDistance: DistanceNM;
  isVisible: boolean;
  aerodrome?: AerodromeICAOId;
  point?: ICAOPoint;
  flightPlanPoint?: boolean;
}
interface FlightAirspace {
  airspaceId: AirspaceId;
  airspaceType: AirspaceType;
  firstEntryTime: DateTimeSecond;
  firstEntryFlightLevel: FlightLevel;
  lastExitFlightLevel: FlightLevel;
  firstEntryTrend: FlightTrend;
  middleTrend: FlightTrend;
  firstEntryDistance: DistanceNM;
  lastExitTime: DateTimeSecond;
  lastExitTrend: FlightTrend;
  lastExitDistance: DistanceNM;
  occupancyDuration: DurationHourMinuteSecond;
  occupancyDistance: DistanceNM;
  activated: boolean;
}
interface RequestedFlightLevel {
  flightLevel: FlightLevel;
  segmentSequenceNumber: number;
  relativeDistance: number;
}
interface FlightEvent {
  timestamp: DateTimeSecond;
  type: FlightEventType;
  resultingState: FlightState;
  resultingOffBlockTime: DateTimeMinute;
  efdSent: boolean;
  fumSent: boolean;
}
type FlightEventType = string;
interface FlightOperationalLogEntry {
  timestamp?: DateTimeSecond;
  type?: FlightOperationalLogEntryType;
  etfmsId?: number;
  ifplId?: IFPLId;
  issuer?: string;
  message?: string;
  summaryFields?: string[];
}
type FlightOperationalLogEntryType = 'ENVIRONMENT_MESSAGE' | 'ERRONEOUS_INCOMING_MESSAGE' | 'ERROR_MESSAGE' | 'HISTORY' | 'INCOMING_MESSAGE' | 'OUTGOING_MESSAGE' | 'PROCESS_ERROR' | 'TEXT_MESSAGE' | 'UNDEFINED' | 'USER_COMMAND' | 'VIOLATION' | 'WARNING';
interface EquipmentCapabilityAndStatus {
  gbas?: EquipmentStatus;
  lvp?: EquipmentStatus;
  loranC?: EquipmentStatus;
  dme?: EquipmentStatus;
  fmcWprAcars?: EquipmentStatus;
  dFisAcars?: EquipmentStatus;
  pdcAcars?: EquipmentStatus;
  adf?: EquipmentStatus;
  gnss?: EquipmentStatus;
  hfRtf?: EquipmentStatus;
  inertialNavigation?: EquipmentStatus;
  cpdlcAtnVdlMode2?: EquipmentStatus;
  cpdlcFans1AHFDL?: EquipmentStatus;
  cpdlcFans1AVdlModeA?: EquipmentStatus;
  cpdlcFans1AVdlMode2?: EquipmentStatus;
  cpdlcFans1ASatcomInmarsat?: EquipmentStatus;
  cpdlcFans1ASatcomMtsat?: EquipmentStatus;
  cpdlcFans1ASatcomIridium?: EquipmentStatus;
  mls?: EquipmentStatus;
  ils?: EquipmentStatus;
  atcRtfSatcomInmarsat?: EquipmentStatus;
  atcRtfSatcomMtsat?: EquipmentStatus;
  atcRtfSatcomIridium?: EquipmentStatus;
  vor?: EquipmentStatus;
  rcp1?: EquipmentStatus;
  rcp2?: EquipmentStatus;
  rcp3?: EquipmentStatus;
  rcp4?: EquipmentStatus;
  rcp5?: EquipmentStatus;
  rcp6?: EquipmentStatus;
  rcp7?: EquipmentStatus;
  rcp8?: EquipmentStatus;
  rcp9?: EquipmentStatus;
  pbnApproved?: EquipmentStatus;
  standard?: EquipmentStatus;
  tacan?: EquipmentStatus;
  uhfRtf?: EquipmentStatus;
  vhfRtf?: EquipmentStatus;
  rvsm?: EquipmentStatus;
  mnps?: EquipmentStatus;
  khz833?: EquipmentStatus;
  other?: EquipmentStatus;
}
type EquipmentStatus = 'EQUIPPED' | 'NOT_EQUIPPED';
interface FlightRestriction {
  timeOver: DateTimeSecond;
  coveredDistance: DistanceNM;
  flightPlanProcessing: FlightPlanProcessing;
  restrictionId: RestrictionId;
  event: EntryExit;
  position: Position;
  flightLevel: FlightLevel;
}
type EntryExit = 'ENTRY' | 'EXIT';
type CfmuFlightType =
/**
 * Mini-flight created for the usage of CCAMS when the flight is unknown to NM.
 */
'MFD'
/**
 * Flight created from a flight plan filed to IFPS.
 */ | 'IFPL'
/**
 * Flight is ATC activated.
 */ | 'ACT'
/**
 * Flight activated by NM.
 */ | 'TACT_ACTIVATED'
/**
 * Flight is terminated.
 */ | 'TERMINATED'
/**
 * Predicted flight data.
 */ | 'PREDICTED_FLIGHT';
type LoadStateAtReferenceLocation = {
  ENTRY: LoadState;
} | {
  OCCUPANCY: OtmvStatus;
};
interface DeltaEntry {
  intruderKind: IntruderKind;
  originOfIntruder?: AirspaceId;
  deltaMinutes: number;
  deltaFlightLevel: number;
  deltaPosition: DistanceNM;
}
type IntruderKind = 'HORIZONTAL_INTRUDER' | 'unknown_INTRUDER' | 'NON_INTRUDER' | 'VERTICAL_INTRUDER';
type CTOTLimitReason = 'FORCED_BY_CHAMAN' | 'FORCED_BY_NMOC' | 'FORCED_BY_STAM_MEASURE' | 'FORCED_BY_TOWER' | 'LIMITED_BY_VIOLATION' | 'LIMITED_BY_VIOLATION_THEN_ZERO_RATE_OR_RVR' | 'SLOT_EXTENSION' | 'SLOT_TIME_NOT_LIMITED' | 'WAS_FORCED_BY_NMOC';
interface ProfileValidity {
  profileValidityKind: ProfileValidityKind;
  lastValidEOBT: DateTimeMinute;
}
type ProfileValidityKind = 'NO_VIOLATIONS' | 'UNKNOWN' | 'VIOLATIONS';
interface TargetTime {
  regulationId: RegulationId;
  targetTime: DateTimeSecond;
  targetLevel: FlightLevel;
  aerodromeICAOId?: AerodromeICAOId;
  point?: ICAOPoint;
  flightPlanPoint?: boolean;
  coveredDistance: DistanceNM;
  actualTimeAtTarget?: ActualTimeAtTarget;
}
interface FourDPosition {
  timeOver: DateTimeSecond;
  position: Position;
  level: FlightLevel;
}
interface ActualTimeAtTarget {
  estimatedActualTimeAtTarget: DateTimeSecond;
  targetTimeCompliance: IntervalPosition;
}
type IntervalPosition = 'AFTER' | 'BEFORE' | 'INSIDE';
interface FlightListRequest {
  dataset: Dataset;
  includeProposalFlights: boolean;
  includeForecastFlights: boolean;
  trafficType: TrafficType;
  trafficWindow?: DateTimeMinutePeriod;
  worstLoadStateAtReferenceLocationType?: CountsCalculationType;
  compareWithOtherTrafficType?: TrafficType;
  requestedFlightFields?: FlightField[];
}
interface FlightListByLocationRequest extends FlightListRequest {
  countsInterval?: CountsInterval;
  aircraftOperators?: AircraftOperatorICAOId[];
  includeInvisibleFlights?: boolean;
}
interface FlightListByAirspaceRequest extends FlightListRequest {
  calculationType?: CountsCalculationType;
  airspace: AirspaceId;
}
type FlightOrFlightPlan = {
  flight: Flight;
} | {
  flightPlan: FlightPlanOrInvalidFiling;
};
type FlightPlanOrInvalidFiling = {
  lastValidFlightPlan: FlightPlanSummary;
} | {
  currentInvalid: InvalidFiling;
};
interface FlightPlanSummary {
  id: FlightIdentificationOutput;
  status: FlightPlanStatus;
}
type FlightPlanStatus = 'AIRBORNE' | 'BACKUP' | 'CLOSED' | 'FILED' | 'OFFBLOCKS' | 'SUSPENDED' | 'TACT_DELETED' | 'TERMINATED';
type FlightPlanMessageType = 'ACH' | 'AFP' | 'APL' | 'ARR' | 'CHG' | 'CNL' | 'DEP' | 'DLA' | 'FNM' | 'FPL' | 'MFS' | 'RQP' | 'RQS';
type FlightPlanMessageStatus = 'DELETED' | 'DISCARD' | 'INVALID' | 'MULTIPLE' | 'REFERRED' | 'REJECTED';
interface InvalidFiling {
  filingTime: DateTimeSecond;
  invalidMessageType: FlightPlanMessageType;
  invalidMessageStatus: FlightPlanMessageStatus;
  keys?: FlightKeys;
}
interface FlightListReplyData {
  flights?: Array<FlightOrFlightPlan>;
}
interface FlightListByLocationReplyData extends FlightListReplyData {
  effectiveTrafficWindow: DateTimeMinutePeriod;
}
type FlightListByAirspaceReply = ReplyWithData<FlightListByAirspaceReplyData>;
interface FlightListByAirspaceReplyData extends FlightListByLocationReplyData {}
interface FlightPlanListRequest {
  aircraftId?: string;
  aerodromeOfDeparture?: string;
  nonICAOAerodromeOfDeparture: boolean;
  airFiled: boolean;
  aerodromeOfDestination?: string;
  nonICAOAerodromeOfDestination: boolean;
  estimatedOffBlockTime: DateTimeMinutePeriod;
}
type FlightPlanListReply = ReplyWithData<FlightPlanListReplyData>;
type FlightPlanListReplyData = {
  summaries: FlightPlanOrInvalidFiling[];
};
interface FlightRetrievalRequest {
  dataset: Dataset;
  includeProposalFlights: boolean;
  flightId: FlightIdentificationInput;
  requestedFlightDatasets: FlightDataset[];
  requestedFlightFields?: FlightField[];
}
type FlightRetrievalReply = ReplyWithData<FlightRetrievalReplyData>;
type FlightRetrievalReplyData = {
  latestFlightPlan?: FlightPlanOutput;
  flightPlanHistory?: FlightPlanHistory;
  flight?: Flight;
  structuredFlightPlan?: StructuredFlightPlan;
};
interface FlightListByTrafficVolumeRequest extends FlightListByLocationRequest {
  calculationType?: CountsCalculationType;
  trafficVolume: TrafficVolumeId;
  flow?: FlowId;
}
type FlightListByTrafficVolumeReply = ReplyWithData<FlightListByTrafficVolumeReplyData>;
interface FlightListByTrafficVolumeReplyData extends FlightListByLocationReplyData {}
interface FlightListByMeasureRequest extends FlightListByLocationRequest {
  measure: MeasureId;
  mode: FlightListByMeasureMode;
}
type FlightListByMeasureMode = 'ACTIVATED_BY_MEASURE' | 'CONCERNED_BY_MEASURE';
type FlightListByMeasureReply = ReplyWithData<FlightListByMeasureReplyData>;
interface FlightListByMeasureReplyData extends FlightListByLocationReplyData {}
interface FlightListByAerodromeRequest extends FlightListByLocationRequest {
  aerodrome: AerodromeICAOId;
  aerodromeRole: AerodromeRole;
}
type AerodromeRole =
/**
 * The aerodrome is meant as of departure.
 */
'DEPARTURE'
/**
 * The aerodrome is meat as of arrival.
 */ | 'ARRIVAL'
/**
 * The aerodrome is meat as of departure or arrival.
 */ | 'GLOBAL'
/**
 * The aerodrome is meat as of alternate.
 */ | 'ALTERNATE';
type FlightListByAerodromeReply = ReplyWithData<FlightListByAerodromeReplyData>;
interface FlightListByAerodromeReplyData extends FlightListByLocationReplyData {}
interface FlightListByAerodromeSetRequest extends FlightListByLocationRequest {
  aerodromeSet: AerodromeSetId;
  aerodromeRole: AerodromeRole;
}
type FlightListByAerodromeSetReply = ReplyWithData<FlightListByAerodromeSetReplyData>;
interface FlightListByAerodromeSetReplyData extends FlightListByLocationReplyData {}
interface FlightListByAircraftOperatorRequest extends FlightListByLocationRequest {
  calculationType?: CountsCalculationType;
}
type FlightListByAircraftOperatorReply = ReplyWithData<FlightListByAircraftOperatorReplyData>;
interface FlightListByAircraftOperatorReplyData extends FlightListByLocationReplyData {}
//#endregion
export { ACDMAlertCode, ACDMAlertData, ACDMAlertSeverity, APISubmissionRules, ATFMMessageType, ATVFlightStatusInbound, ATVFlightStatusOutbound, ActualTimeAtTarget, Aerodrome, AerodromeDAL, AerodromeRole, AerodromesOfDestination, AirFiledData, AircraftIATAId, AircraftIATAIdFromDataSource, AircraftICAOId, AircraftIdDataSource, AircraftIdentification, AircraftOperatorICAOId, AircraftOperatorName_DataType, AircraftPerformanceCategory, AircraftRegistrationMark, AircraftType, AircraftTypeIATAId, AircraftTypeICAOId, AlternateAerodrome, AlternateAerodrome_DataType, ArrivalInformation, AtsUnitId_DataType, BasicTrajectoryData, CDM, CDMInfo, CTOTLimitReason, CfmuFlightType, DatalinkCapabilities, DeltaEntry, DepartureAirportType, DepartureData, DepartureStatus, DepartureTolerance, Dinghies, DistanceAtLocation, EURSTSIndicator, EnrouteDelay, EntryExit, EquipmentCapabilityAndStatus, EquipmentStatus, EstimatedElapsedTimeAtLocation, ExclusionFromRegulations, ExtendedAircraftICAOId, FAMStatus, FIXMFlight, Flight, FlightAirspace, FlightCriticalityIndicator, FlightCriticalityKind, FlightDataset, FlightEvent, FlightEventType, FlightField, FlightIdentificationInput, FlightIdentificationOutput, FlightKeys, FlightListByAerodromeReply, FlightListByAerodromeReplyData, FlightListByAerodromeRequest, FlightListByAerodromeSetReply, FlightListByAerodromeSetReplyData, FlightListByAerodromeSetRequest, FlightListByAircraftOperatorReply, FlightListByAircraftOperatorReplyData, FlightListByAircraftOperatorRequest, FlightListByAirspaceReply, FlightListByAirspaceReplyData, FlightListByAirspaceRequest, FlightListByLocationReplyData, FlightListByLocationRequest, FlightListByMeasureMode, FlightListByMeasureReply, FlightListByMeasureReplyData, FlightListByMeasureRequest, FlightListByTrafficVolumeReply, FlightListByTrafficVolumeReplyData, FlightListByTrafficVolumeRequest, FlightListReplyData, FlightListRequest, FlightOperationalLogEntry, FlightOperationalLogEntryType, FlightOrFlightPlan, FlightPlan, FlightPlanHistory, FlightPlanHistoryInfo, FlightPlanListReply, FlightPlanListReplyData, FlightPlanListRequest, FlightPlanMessageStatus, FlightPlanMessageType, FlightPlanOrInvalidFiling, FlightPlanOutput, FlightPlanStatus, FlightPlanSummary, FlightPoint, FlightRestriction, FlightRetrievalReply, FlightRetrievalReplyData, FlightRetrievalRequest, FlightRules, FlightState, FlightTrafficVolume, FlightTrend, FlightType, FlightVisibility, FourDPosition, FrequencyOnAircraft, GroupReroutingIndicator, GroupReroutingSummary, IATAFlightKeys, ICAOAircraftAddress, ICAOSTSIndicator, IFPLId, ImpactSeverityIndicator, IntervalPosition, IntruderKind, InvalidFiling, LifeJacketEquipment, LoadStateAtReferenceLocation, MessageOriginator, ModeSCapabilities, OtherAerodromeDesignation, OtherAircraftTypeDesignation_DataType, OtherInformation, PerformanceBasedNavigationCode, PointDAL, ProfileValidity, ProfileValidityKind, ProposalInformation, ProposalKind, ReadyStatus, ReasonForDPICancellation, ReclearanceInFlight, Relative4DPoint, RequestedFlightLevel, ReroutingFeedback, ReroutingFeedbackKind, ReroutingFeedbackReason, ReroutingIndicator, ReroutingReason, ReroutingReference, ReroutingRouteId, ReroutingRouteType, ReroutingState, SSRCode, SSRInfo, SSRMode, SpecialHandlingIndicators, StandardRouteId, StructuredFlightPlan, SupplementaryInformation, SurveillanceEquipment, SurvivalEquipment, SuspensionStatus, TargetTime, TaxiTimeAndProcedure, TaxiTimeSource, TerminalOrApronStandName, TimeAndModel, TrafficType, TurnFlightForLocation, TurnFlightForLocationKind, WakeTurbulenceCategory, YoYoFlightForLocation, YoYoFlightForLocationKind };
//# sourceMappingURL=types.d.ts.map