import { VehicleIdType } from '../minimum/VehicleIdType.js';
import { ExemptionConditionBaseType } from './ExemptionConditionBaseType.js';
import { NoticeClosureBaseType } from './NoticeClosureBaseType.js';
import { NoticeType } from './NoticeType.js';
import { NoticeTypeDetail } from './NoticeTypeDetail.js';
import { OffenceBaseType } from './OffenceBaseType.js';
import { Offences } from './Offences.js';
import { PenaltyNotice } from './PenaltyNotice.js';
import { ProhibitionClosureReasonBaseType } from './ProhibitionClosureReasonBaseType.js';
import { RemovalInstruction } from './RemovalInstruction.js';
import '../common/CommonData.js';
import '../common/CommonDeletion.js';
import '../common/CommonVersion.js';
import '../common/CommonOffence.js';
import './PenaltyNoticeStatus.js';
import '../common/CommonDescription.js';

declare class NoticeBase {
    odrGeneratedNumber?: string | null;
    noticeType: NoticeType;
    penaltyNotice?: PenaltyNotice | null;
    ordGeneratedNumber?: string | null;
    closureLastUserId?: string | null;
    oliLicenceNumber?: string | null;
    noticeReferenceNumber?: string | null;
    inForceDate?: string | null;
    inForceTime?: string | null;
    issueDate: string;
    issueTime: string;
    inputDate: string;
    issueOffFname: string;
    issueOffSname: string;
    issueOfficerType: string;
    noticeStatus: string;
    pcrCode?: string | null;
    rceivedByForenme: string;
    rceivedBySurname: string;
    restHours: number;
    rteVehId: string;
    rteVehIdType: VehicleIdType;
    sMarked: string;
    translationMkr: string;
    updateTimestamp: string;
    dangerGoodsDeferralPeriod: number;
    noticeTypeDetail?: NoticeTypeDetail | null;
    ifkOpLicenceNum?: string | null;
    ifkTestCertNum?: string | null;
    immediateInd?: string | null;
    offences?: Offences[] | null;
    removalInstr?: RemovalInstruction | null;
    policeOfficerNum?: string | null;
    policeStation?: string | null;
    testStationInd?: string | null;
    towingVehId?: string | null;
    updateUserId?: string | null;
    clearanceDate?: string | null;
    closureLastTime?: string | null;
    closureReason?: ProhibitionClosureReasonBaseType | null;
    filedAt?: string | null;
    tachoLastCalibrationDate?: string | null;
    tachoInspectionDueDate?: string | null;
    dangerousGoodsDirection?: string | null;
    dangerGoodsImmProhInd?: string | null;
    exemptionConditions?: ExemptionConditionBaseType[] | null;
    noticeClosure?: NoticeClosureBaseType | null;
    offencesList?: OffenceBaseType[] | null;
    opCopyPrinted?: string | null;
    orginalIssueDate?: string | null;
    otherLocation?: string | null;
    linkedNoticeId?: string | null;
}

export { NoticeBase };
