import { CommonVehicle } from '../common/CommonVehicle.js';
import { Defect } from '../defects/Defect.js';
import { DefectSummary } from '../defects/DefectSummary.js';
import { EmissionCheckBase } from '../emissions/EmissionCheckBase.js';
import { NoticeBase } from '../notices/NoticeBase.js';
import { AxlesWeight } from './AxlesWeight.js';
import { BodyType } from './BodyType.js';
import { Laden } from './Laden.js';
import { RoadsideVehicleType } from './RoadsideVehicleType.js';
import { VehicleIdType } from './VehicleIdType.js';
import './Nationality.js';
import '../trailer/PoliceDefect.js';
import '../common/CommonVehicleWeights.js';
import '../defects/Part.js';
import '../contact/GenericContact.js';
import '../contact/RteArea.js';
import '../common/CommonPostAddress.js';
import '../defects/SignificanceReason.js';
import '../emissions/FuelTypeBase.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 '../common/CommonData.js';
import '../common/CommonDeletion.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 '../common/CommonDescription.js';

declare class Motor extends CommonVehicle {
    venGeneratedNumber?: string | null;
    vehicleId: string;
    vehicleIdType: VehicleIdType;
    vehicleType?: number | null;
    roadsideVehicleType: RoadsideVehicleType;
    actionCode: string;
    sigMaintFailure?: string | null;
    vehicleLivery?: string | null;
    ministryPlateNumber?: string | null;
    odometerReading?: string | number | null;
    odometerReadingUnit?: string | null;
    chassisNumber?: string | null;
    laden?: Laden | null;
    axlesWeights?: AxlesWeight[] | null;
    bodyType?: BodyType | null;
    seatingCapacity?: string | number | null;
    notices?: NoticeBase[] | null;
    speedLimiterChecked: string;
    prevOpInspDate: string;
    srNumOfTyres: number;
    defectsRecMkr?: string | null;
    defectSummary?: DefectSummary | null;
    defects?: Defect[] | null;
    emissionCheck?: EmissionCheckBase | null;
}

export { Motor };
