import { Mongoose } from "mongoose"; import { Agency } from "../models/agency"; import { CADIncident } from "../models/cad-incident"; import { Department } from "../models/department"; import { Esri } from "../models/esri"; import { GlobalSettingsType } from "../types/global-settings"; import { IncidentFilter } from "models/incident-filter"; import { IncidentNotified } from "../models/incident-notified"; import { Location } from "../models/location"; import { ManagedIncident } from "../models/managed-incident"; import { SAML } from "../models/saml"; import { ZonehavenAccountType } from "../types/zonehaven-account"; export default function mockModule(dependencies: { mongoose: Mongoose; }): { beforeEach: () => Promise; cleanup: () => Promise; actionLog: { departmentId: string; email: string; action: string; userId: string; object: { vehicleId: string; radioName: string; }; before: { test: string; }; after: { test: string; }; delta: { test: string; }; }; agency: Partial; arcGISGroup: { access: string; linkedDepartments: { department: string; departmentId: string; authUsername: string; authError: string; users: { username: string; email: string; userId: string; }[]; }[]; externalOrgIds: string[]; groupId: string; outsiders: { fullName: string; memberType: string; orgId: string; username: string; }[]; owner: string; protected: boolean; title: string; users: { fullName: string; memberType: string; orgId: string; username: string; }[]; }; assignment: { position: number; active: boolean; name: string; userId: string; departmentId: string; description: string; isMandatory: boolean; }; audioStreamAuthentication: { _id: import("mongoose").Types.ObjectId; name: string; secret: { iv: string; encryptedData: string; }; rotateInterval: number; }; battalion: { name: string; active: boolean; isMandatory: boolean; userId: string; departmentId: string; AgencyId: import("mongoose").Types.ObjectId; position: number; units: { _id: import("mongoose").Types.ObjectId; uuid: string; agencyId: import("mongoose").Types.ObjectId; name: string; kindType: string; locationType: string; kind: string; type: string; friendly_id: string; local_id: number; personnel: number; position: number; active: boolean; isMandatory: boolean; departmentId: string; userId: string; api_battalion_id: string; battalion_uuid: string; battalion_name: string; modified_date: string; modified_unix_date: number; modified: Date; }[]; }; cadIncident: Partial; cadIncidentBlock: { EntryDateTime: string; ClosedDateTime: string; source: string; departmentId: string; AgencyIncidentCallTypeDescription: string; IncidentNumber: string; ReportNumber: { name: string; number: string; }[]; createdAt: string; }; cadSimulation: { departmentId: string; active: boolean; friendlyId: string; modifiedDate: number; modified: Date; title: string; notes: string; simulation: boolean; notify: boolean; rts: boolean; tags: never[]; incidentType: string; streetName: string; locationComment: string; suite: string; CrossStreet1: string; city: string; state: string; lat: string; lon: string; firemap: string; mapPages: string; tacticalChannel: string; commandChannel: string; radioChannels: never[]; closeDelay: number; priorIncidents: never[]; randomPriorIncidents: boolean; randomStaffing: boolean; sequences: { _id: import("mongoose").Types.ObjectId; title: string; alarm: string; sequenceId: number; callers: never[]; unitsConfig: { alarmLevelAtDispatch: string; units: string[]; }; comments: { comment: string; source: string; }[]; }[]; }; cadStatus: { _id: import("mongoose").Types.ObjectId; code: string; codeDisplay: string; color: { background: string; text: string; }; departmentId: string; modifiedDate: number; name: string; normalized: string; options: { cadKey: string; cadValues: { favorite: boolean; name: string; position: number; type: string; value: string; visible: boolean; isDefault: boolean; latitude: number; longitude: number; time: number; doorCode: string; destinationStatus: string; destinationNote: string; }[]; name: string; position: number; visible: boolean; }[]; roaming: boolean; selfAssignable: boolean; status: string; statusId: number; uuid: string; }; cadStatusMap: { departmentId: string; fromStatusId: number; modifiedDate: number; toStatusIds: { statusId: number; userEnabled: boolean; position: number; }[]; }; cadVehicle: { _id: import("mongoose").Types.ObjectId; uuid: string; radioName: string; vehicleId: string; modifiedDate: number; departmentId: string; station: { code: string; name: string; }; capability: string; }; cadVehicleStatus: { uuid: string; departmentId: string; vehicleId: string; radioName: string; requestTime: number; responseTime: number; status: string; statusCode: string; modifiedDate: number; requestStatus: number; incidentNumber: string; capability: string; owner: string; ownerId: string; options: { name: string; type: string; value: string; key: string; extra: { doorCode: string; destinationStatus: string; destinationNote: string; latitude: number; longitude: number; }; }[]; }; cadVehicleStatusHistory: { departmentId: string; vehicleId: string; radioName: string; status: string; statusCode: string; requestedAt: number; requestedBy: string; modifiedDate: number; incidentNumber: string; }; checklist: { _id: import("mongoose").Types.ObjectId; uuid: string; position: number; active: boolean; name: string; userId: string; departmentId: string; local_id: number; isMandatory: boolean; agencyId: import("mongoose").Types.ObjectId; items: { _id: import("mongoose").Types.ObjectId; uuid: string; checklist_uuid: string; position: number; active: boolean; name: string; checked: number; api_checklist_id: string; userId: string; departmentId: string; local_id: number; isMandatory: boolean; description: string; modified_date: string; modified_unix_date: number; neris_benchmark: string; send_to_cad: boolean; }[]; modified_date: string; modified_unix_date: number; }; checklistItem: { _id: import("mongoose").Types.ObjectId; uuid: string; checklist_uuid: string; position: number; active: boolean; name: string; checked: number; api_checklist_id: string; userId: string; departmentId: string; local_id: number; isMandatory: boolean; description: string; modified_date: string; modified_unix_date: number; neris_benchmark: string; send_to_cad: boolean; }; csvImport: { _id: import("mongoose").Types.ObjectId; batchId: string; departmentId: string; agencyId: string; importType: string; fileType: string; fileName: string; fileSize: string; records: never[]; userId: string; status: string; sendNotification: boolean; }; dataSharingAgreement: { departmentId: string; departmentName: string; agencyId: import("mongoose").Types.ObjectId; agencyName: string; userId: string; email: string; signerName: string; agreementTitle: string; agreementVersion: string; agreementText: string; action: string; consents: { key: string; label: string; checked: boolean; }[]; remoteAddress: string; userAgent: string; appVersion: string; createdAt: Date; }; department: Partial; deviceMapping: { _id: import("mongoose").Types.ObjectId; nick: string; departmentId: string; deviceType: string; mapId: string; deviceId: string; modified_unix_date: number; active: boolean; remoteAddress: string; note: string; mapHidden: boolean; }; deviceMappingWithWhiteSpaces: { _id: import("mongoose").Types.ObjectId; nick: string; departmentId: string; deviceType: string; mapId: string; deviceId: string; modified_unix_date: number; active: boolean; remoteAddress: string; note: string; mapHidden: boolean; }; esri: Partial; globalSettings: GlobalSettingsType; gstMapping: { _id: import("mongoose").Types.ObjectId; departmentId: string; unitId: string; modified_unix_date: number; active: boolean; remoteAddress: string; note: string; mapHidden: boolean; gstAgency: string; deviceType: string; }; incidentEvent: { IncidentNumber: string; departmentId: string; modified_unix_date: number; message: string; location: { longitude: number; latitude: number; }; userTime: number; type: string; user: { email: string; username: string; radioName: string; userId: string; }; uuid: string; }; incidentFilterAgency: Partial; incidentNotified: Partial; incidentTakeover: { _id: import("mongoose").Types.ObjectId; incident_id: string; incident_name: string; incident_number: string; departmentId: string; old_owner: string; new_owner: string; owner: string; status: string; request_time: number; }; jobLog: { host: string; jobName: string; state: string; bidDate: Date; startDate: Date; completedDate: Date; forceClosed: boolean; }; location: Partial; mailLog: { mailId: string; event: string; timestamp: number; recipient: string; recipientDomain: string; tags: string[]; deliveryStatus: {}; message: {}; flags: {}; envelope: {}; logLevel: string; reason: string; severity: string; }; managedIncident: Partial; mark43IncidentRetry: { departmentId: string; incidentNumber: string; active: boolean; mark43IncidentId: number; attempts: number; created: Date; modified: Date; retryPayload: { departmentId: number; activityType: string; relatedEvent: { mark43Id: number; cadAgencyEventNumber: string; }; }; }; message: { departmentId: string; active: boolean; title: string; body: string; actionTitle: string; color: { background: string; text: string; }; url: string; priority: number; type: { type: string; typeOpts: { major: number; minor: number; patch: number; }; }; created: Date; uuid: string; requestId: string; }; monitor: { _id: import("mongoose").Types.ObjectId; departmentId: string; agencyId: string; notificationType: string; status: string; sentAt: Date; sentUnixDate: number; }; personnelImport: { _id: import("mongoose").Types.ObjectId; PersonnelID: string; PersonnelName: string; PersonnelRank: string; PersonnelWorkCode: string; PersonnelNote: string; departmentId: string; radioNames: string[]; shiftStartTime: number; shiftStart: Date; shiftEndTime: number; shiftEnd: Date; modified_unix_date: number; modified: Date; active: boolean; agencyCode: string; agencyName: string; importNotes: string; }; rateLimit: { _id: import("mongoose").Types.ObjectId; username: string; modified_unix_date: number; count: number; }; partner: { _id: import("mongoose").Types.ObjectId; name: string; active: boolean; partnerKey: string; uuid: string; location: { enabled: boolean; departmentIds: string[]; includeVehicleStatus: boolean; speedAsBinary: boolean; useCadVisibility: boolean; filters: never[]; }; }; releaseNote: { title: string; notes: string; version: string; releaseDate: Date; status: string; }; session: { when: string; user: string; email: string; nick: string; deviceId: string; remoteAddress: string; userAgent: string; why: string; departmentId: string; source: string; token: string; active: boolean; ended: string; }; saml: Partial; statusBeacon: { _id: import("mongoose").Types.ObjectId; departmentId: string; integration: string; interfaceStartTime: Date; healthState: string; triggerReason: string; consecutiveFailures: number; consecutiveSuccesses: number; totalFailuresSinceLastHealthy: number; outageStartTime: undefined; pollCycle: number; lastPollMs: number; activeIncidents: number; activeUnits: number; incidentsDelta: number; unitStatusDelta: number; queueDepths: { incident: number; status: number; vehicle: number; total: number; }; tokenAgeSecs: number; tokenExpiresAt: Date; tCSend: { lastSuccessfulIncidentSend: Date; lastSuccessfulUnitStatusSend: Date; sendFailuresDelta: number; lastSendError: string; }; writeBack: { attemptsDelta: number; failuresDelta: number; lastSuccessfulWriteBack: Date; lastError: string; }; sync: { lastCacheRefresh: Date; cacheAgeSeconds: number; consecutiveEmptyPolls: number; lastPollChanges: number; incidentCacheGrowthDelta: number; }; debugPushActive: boolean; lastConfigSave: Date; lastConfigSaveFile: string; lastError: string; interfaceVersion: string; cadVersion: string; unifiedVersion: string; beaconVersion: string; keepAliveIntervalSecs: number; queueAges: { incident: number; status: number; }; queueDroppedDelta: number; channels: { vehicleStatus: { armed: boolean; lastSuccessUtc: Date; ageSecs: number; failuresDelta: number; lastNonSuccessCode: number; }; }; pollers: { status: { enabled: boolean; interval: number; consecutiveFailures: number; lastHttpCode: number; }; }; auth: { failuresDelta: number; }; restartPoll: { enabled: boolean; }; clockSync: { serverSkewSecs: number; }; }; statusBeaconTransition: { _id: import("mongoose").Types.ObjectId; departmentId: string; integration: string; triggerReason: string; healthState: string; consecutiveFailures: number; totalFailuresSinceLastHealthy: number; lastError: string; }; template: { position: number; active: boolean; name: string; userId: string; departmentId: string; isMandatory: boolean; group: never[]; checklist: never[]; agencyId: import("mongoose").Types.ObjectId; }; user: { _id: import("mongoose").Types.ObjectId; nick: string; email: string; mapId: string; departmentId: string; isPro: boolean; agencyId: import("mongoose").Types.ObjectId; managedAgencies: import("mongoose").Types.ObjectId[]; shareLocationPhone: boolean; shareLocationTablet: boolean; notificationSounds: { sound: string; soundType: string; }[]; offlineMapsEnabled: boolean; offDutyEnabled: boolean; webMapSettings: { defaultZoomLevel: number; defaultCenter: number[]; defaultMap: string; }; restrictedCommentsEnabled: boolean; canBlockIncidents: boolean; canApproveSharingAgreements: boolean; }; userDevice: { userId: string; departmentID: string; devices: { token: string; keys: { auth: string; p256dh: string; }; env: string; ver: string; ua: string; time: number; drift: number; bundleIdentifier: string; silentEnabled: boolean; criticalAlertsEnabled: boolean; session: string; active: boolean; offDuty: boolean; t: Date; channelId: string; }[]; notificationCount: number; notificationUnitSettings: { radioName: string; notificationType: string; notificationMode: string; }[]; notificationIncidentSettings: { incidentType: string; notificationType: string; notificationMode: string; }[]; notificationSounds: { ios: { sound: string; soundType: string; os: string; }; android: { sound: string; soundType: string; os: string; }; }; offDuty: boolean; criticalAlertsVolume: string; }; userRegistration: { email: string; name: string; firstName: string; lastName: string; department: string; title: string; modifiedDate: number; status: string; stage: string; presentedAt: number; managedIncidentsCount: number; checklistsCount: number; firstIncidentUnixTime: number; lastIncidentLocation: string; lastIncidentUnixTime: number; }; validationReport: { _id: import("mongoose").Types.ObjectId; departmentId: import("mongoose").Types.ObjectId; modified: Date; location: never[]; statusMap: never[]; status: never[]; vehicleStatus: never[]; vehicle: never[]; incident: { message: string; firstSeenAt: Date; lastSeenAt: Date; clearedAt: Date; payload: { AgencyID: string; IncidentNumber: string; ReportNumber: string; }; }[]; personnel: never[]; }; watchDutyEvent: { watchDutyId: number; name: string; description: string; geoEventType: string; locationGeoJSON: { type: string; coordinates: number[]; }; address: string; isPrescribed: boolean; areaSquareMeters: number; containment: number; evacuationOrders: string; evacuationWarnings: string; evacuationAdvisories: string; evacuationShelterInPlace: string; regions: { name: string; state: string; }[]; active: boolean; watchDutyCreatedAt: Date; watchDutyModifiedAt: Date; }; zonehavenAccount: ZonehavenAccountType; }; //# sourceMappingURL=mock.d.ts.map