import { Address } from '../contact/Address.js';
import { Nationality } from '../minimum/Nationality.js';
import { ActualPayment } from '../payments/ActualPayment.js';
import { DetailsOrigin } from './DetailsOrigin.js';
import { LicenceCategory } from './LicenceCategory.js';
import { LicenceType } from './LicenceType.js';
import '../common/CommonPostAddress.js';
import '../contact/GenericContact.js';
import '../contact/RteArea.js';
import '../payments/PaymentReversalReason.js';
import '../payments/PaymentStatus.js';

declare class Drivers {
    detailsOnNotice?: string;
    partOfEncounter?: string;
    theSourceDriverType?: string;
    driverOnNotice?: string | null;
    birthPlace?: string | null;
    dateOfBirth?: string | null;
    forename: string;
    surname: string;
    lastUpdate: string | null;
    licenceIssueNo?: string | null;
    registeredKeeper?: string | null;
    address?: Address;
    phoneNumber?: string | null;
    detailsOrigin: DetailsOrigin;
    nationality?: Nationality;
    licenceType?: LicenceType | null;
    licenceCategory?: LicenceCategory | null;
    sex: string;
    driverType: string;
    amount: string | number | null;
    passportNumber?: string | null;
    occupation?: string | null;
    driverLicNum?: string | null;
    documentPath?: string | null;
    linkedNoticeId?: string | null;
    driverCardNumber?: string | null;
    drivingLicenceStatus?: string | null;
    drivingLicenceIssueDate?: string | null;
    odrExhibitNumber?: string | null;
    generatedNumber?: string | null;
    agencyDriver?: string | null;
    actualPayments?: ActualPayment[];
}

export { Drivers };
