import { AuditBase } from '../audit/AuditBase.js';
import { Contact } from '../contact/Contact.js';
import { GenericContact } from '../contact/GenericContact.js';
import { StoppingOfficer } from '../contact/StoppingOfficer.js';
import { DangerousCheckListBase } from '../dangerous/DangerousCheckListBase.js';
import { DefectProsecution } from '../defects/DefectProsecution.js';
import { Drivers } from '../driver/Drivers.js';
import { Journey } from '../journey/Journey.js';
import { EncounterReason } from '../minimum/EncounterReason.js';
import { EncounterTexts } from '../minimum/EncounterTexts.js';
import { EthnicityInfo } from '../minimum/EthnicityInfo.js';
import { InspectionType } from '../minimum/InspectionType.js';
import { Location } from '../minimum/Location.js';
import { Motor } from '../minimum/Motor.js';
import { SpecialReturnCodeFlagType } from '../minimum/SpecialReturnCodeFlagType.js';
import { ActualOffences } from '../notices/ActualOffences.js';
import { Operator } from '../operator/Operator.js';
import { RoadWorthinessCheckList } from '../roadworthiness/RoadWorthinessCheckList.js';
import { TaxForm } from '../tax/TaxForm.js';
import { Trailer } from '../trailer/Trailer.js';
import '../audit/AuditEventBase.js';
import '../common/CommonTradingAs.js';
import '../contact/Address.js';
import '../common/CommonPostAddress.js';
import '../contact/ContactType.js';
import '../contact/RteArea.js';
import '../dangerous/DangerousCheckListItemBase.js';
import '../dangerous/DangerousCheckListItemDetailBase.js';
import '../dangerous/DangerousContainerTypeBase.js';
import '../common/CommonDeletion.js';
import '../minimum/Nationality.js';
import '../payments/ActualPayment.js';
import '../payments/PaymentReversalReason.js';
import '../payments/PaymentStatus.js';
import '../driver/DetailsOrigin.js';
import '../driver/LicenceCategory.js';
import '../driver/LicenceType.js';
import '../journey/JourneyType.js';
import '../journey/PortOfExit.js';
import '../common/CommonCode.js';
import '../minimum/TextType.js';
import '../minimum/ObservedEthnicityInfo.js';
import '../minimum/CapturedEthnicity.js';
import '../common/CommonDescription.js';
import '../common/CommonVehicle.js';
import '../trailer/PoliceDefect.js';
import '../common/CommonVehicleWeights.js';
import '../defects/Defect.js';
import '../defects/Part.js';
import '../defects/DefectSummary.js';
import '../defects/SignificanceReason.js';
import '../emissions/EmissionCheckBase.js';
import '../emissions/FuelTypeBase.js';
import '../notices/NoticeBase.js';
import '../minimum/VehicleIdType.js';
import '../common/CommonData.js';
import '../notices/ExemptionConditionBaseType.js';
import '../notices/NoticeClosureBaseType.js';
import '../notices/NoticeType.js';
import '../notices/NoticeTypeDetail.js';
import '../notices/OffenceBaseType.js';
import '../common/CommonVersion.js';
import '../notices/Offences.js';
import '../common/CommonOffence.js';
import '../notices/PenaltyNotice.js';
import '../notices/PenaltyNoticeStatus.js';
import '../notices/ProhibitionClosureReasonBaseType.js';
import '../notices/RemovalInstruction.js';
import '../minimum/AxlesWeight.js';
import '../minimum/BodyType.js';
import '../minimum/Laden.js';
import '../minimum/RoadsideVehicleType.js';
import '../notices/Offence.js';
import '../notices/OffenceSanctionText.js';
import '../common/CommonOffenceDetail.js';
import '../notices/OffenceSeverityBand.js';
import '../operator/ExistingOperatorDetail.js';
import '../operator/ExistingTradingAs.js';
import '../operator/RecordType.js';
import '../operator/LicenceTypeCode.js';
import '../operator/OCRSOperatorSnapshots.js';
import '../operator/StateOfOpDisc.js';
import '../roadworthiness/RoadWorthinessCheckItem.js';

declare class EncounterReq {
    generatedNumber?: string;
    fleetAssessmentNumber?: string | null;
    qaChecked?: string | null;
    radioactiveMarker?: string | null;
    operatorNaMarker?: string | null;
    offencesRecMarker?: string | null;
    hazardousMarker?: string | null;
    statusCode?: string | null;
    weightsVariationReason?: string | null;
    fullCheck?: string | null;
    jobIncompleteDescription?: string | null;
    directionOfTravel?: string | null;
    examOfficerType: string;
    timeSpentMinutes: number;
    timeSpentHours: number;
    inputTime: string;
    encounterStartDate: string;
    encounterStartTime: string;
    lastUpdate: string;
    checkType?: string | null;
    location: Location;
    actualTrainWeight?: number | null;
    designTrainWeight?: number | null;
    examiner: GenericContact;
    hseBriefer: GenericContact;
    recorder: GenericContact;
    contacts?: Contact[] | null;
    roadWorthinessCheckLists?: RoadWorthinessCheckList[] | null;
    motor?: Motor | null;
    drivers?: Drivers[] | null;
    inspectionType: InspectionType;
    actualOffences?: ActualOffences[] | null;
    encounterReason: EncounterReason;
    ethnicityInfo?: EthnicityInfo | null;
    rwCheckListComplete?: string | null;
    jobComplete: string;
    permittedTrainWeight?: number | null;
    recAfterEvent?: string | null;
    journey?: Journey | null;
    operator?: Operator | null;
    trailer1?: Trailer | null;
    trailer2?: Trailer | null;
    audits?: AuditBase[] | null;
    encounterTexts?: EncounterTexts[] | null;
    actualDriverDigitacCheckQuantity?: number | null;
    actualDriverPaperChartCheckQuantity?: number | null;
    otherDriverDigitacCheckQuantity?: number | null;
    otherDriverPaperChartCheckQuantity?: number | null;
    tachoCheckQuantity?: number | null;
    weightCheckIndicator?: string | null;
    weightPadsMarker?: string | null;
    stationaryIndicator?: number | null;
    defectProsecution: DefectProsecution;
    specialReturn1?: SpecialReturnCodeFlagType | null;
    specialReturn2?: SpecialReturnCodeFlagType | null;
    specialReturn3?: SpecialReturnCodeFlagType | null;
    specialReturn4?: SpecialReturnCodeFlagType | null;
    specialReturn5?: SpecialReturnCodeFlagType | null;
    specialReturn6?: SpecialReturnCodeFlagType | null;
    specialReturn7?: SpecialReturnCodeFlagType | null;
    specialReturn8?: SpecialReturnCodeFlagType | null;
    exerciseCode?: string | null;
    dangerousCheckList?: DangerousCheckListBase | null;
    stoppingOfficer?: StoppingOfficer | null;
    miu?: string | null;
    copiedEncounterIdentifier?: string | null;
    laserGradientMeterUsed?: string | null;
    taxForm?: TaxForm[] | null;
}

export { EncounterReq };
