import { Scan, TScan } from '../Document'; import { ICloneable } from '../general'; import { CustomAttribute, CustomAttributeRecord } from './CustomAttribute'; import { Date, DatePayload } from './Date'; import { Document as F1Document } from '../Document'; export interface HealthIdDocumentSupplementaryData { type: 'NATIONAL_HEALTH_ID'; reference?: string; nameOnCardLine1?: string; nameOnCardLine2?: string; nameOnCardLine3?: string; nameOnCardLine4?: string; middleNameOnCard?: string; } export declare enum DocumentType { OTHER = "OTHER", DRIVERS_LICENSE = "DRIVERS_LICENSE", PASSPORT = "PASSPORT", VISA = "VISA", IMMIGRATION = "IMMIGRATION", NATIONAL_ID = "NATIONAL_ID", TAX_ID = "TAX_ID", NATIONAL_HEALTH_ID = "NATIONAL_HEALTH_ID", CONCESSION = "CONCESSION", HEALTH_CONCESSION = "HEALTH_CONCESSION", PENSION = "PENSION", MILITARY_ID = " MILITARY_ID", BIRTH_CERT = "BIRTH_CERT", CITIZENSHIP = "CITIZENSHIP", MARRIAGE_CERT = "MARRIAGE_CERT", DEATH_CERT = "DEATH_CERT", NAME_CHANGE = "NAME_CHANGE", UTILITY_BILL = "UTILITY_BILL", BANK_STATEMENT = "BANK_STATEMENT", BANK_ACCOUNT = "BANK_ACCOUNT", INTENT_PROOF = "INTENT_PROOF", ATTESTATION = "ATTESTATION", SELF_IMAGE = "SELF_IMAGE", DEVICE = "DEVICE", VEHICLE_REGISTRATION = "VEHICLE_REGISTRATION", PROOF_OF_ADDRESS = "PROOF_OF_ADDRESS", HOUSE_REGISTRATION = "HOUSE_REGISTRATION", YELLOW_HOUSE_REGISTRATION = "YELLOW_HOUSE_REGISTRATION", WORK_PERMIT = "WORK_PERMIT", EMPLOYMENT_CERTIFICATE = "EMPLOYMENT_CERTIFICATE", NOTARY_PUBLIC_ID = "NOTARY_PUBLIC_ID", EXTERNAL_ADMIN = "EXTERNAL_ADMIN", CHARGES = "CHARGES", PRE_ASIC = "PRE_ASIC", ANNUAL_RETURN = "ANNUAL_RETURN", REPORT = "REPORT", TRUST_DEED = "TRUST_DEED", PARTNERSHIP_AGREEMENT = "PARTNERSHIP_AGREEMENT", ADMIN_CHANGE = "ADMIN_CHANGE", COMPANY_REPORT = "COMPANY_REPORT", CHECK_RESULTS = "CHECK_RESULTS", AVIATION_SECURITY_ID = "AVIATION_SECURITY_ID", MARITIME_SECURITY_ID = "MARITIME_SECURITY_ID" } export declare enum AttachmentSide { FRONT = "FRONT", BACK = "BACK" } export declare enum AttachmentType { PHOTO = "PHOTO", VIDEO = "VIDEO", AUDIO = "AUDIO", PDF = "PDF", DOC = "DOC", ZIP = "ZIP" } export interface AttachmentPayload { attachmentId?: string; filename?: string; mimeType?: string; pageNumber?: number; side?: AttachmentSide; type?: AttachmentType; location?: string; data: { uri: string; } | { base64: string; }; lastMalwareScanAt?: string; createdAt?: string; updatedAt?: string; } export declare class Attachment implements AttachmentPayload, ICloneable { attachmentId?: string; filename?: string; mimeType?: string; pageNumber?: number; side?: AttachmentSide; type?: AttachmentType; location?: string; data: { uri: string; } | { base64: string; }; lastMalwareScanAt?: string; createdAt?: string; updatedAt?: string; constructor(); constructor(data: AttachmentPayload); clone(): Attachment; toJSON(): AttachmentPayload; toScan(): Scan; static fromJSON(payload: AttachmentPayload): Attachment; static default(): Attachment; static fromScan: (scan: TScan, previousAttachment?: Attachment) => Attachment; } export declare enum DocumentClass { REPORT = "REPORT", SUPPORTING = "SUPPORTING", IDENTITY = "IDENTITY", OTHER = "OTHER" } export interface DocumentConstructor { documentId?: string; expiryDate?: Date; issueDate?: Date; primaryIdentifier?: string; secondaryIdentifier?: string; type: DocumentType; subType?: string; subdivision?: string; country: string; validFrom?: Date; validTo?: Date; supplementaryData?: HealthIdDocumentSupplementaryData; customAttributes?: CustomAttributeRecord; attachments?: Attachment[]; requestedAt?: string; createdAt?: string; updatedAt?: string; isPersisted?: boolean; } export interface DocumentPayload { documentId?: string; expiryDate?: DatePayload; issueDate?: DatePayload; primaryIdentifier?: string; secondaryIdentifier?: string; type: DocumentType; subType?: string; subdivision?: string; country: string; validFrom?: DatePayload; validTo?: DatePayload; supplementaryData?: HealthIdDocumentSupplementaryData; customAttributes?: Record; attachments?: AttachmentPayload[]; requestedAt?: string; createdAt?: string; updatedAt?: string; isPersisted?: boolean; } export declare class Document implements DocumentConstructor, ICloneable { documentId?: string; expiryDate?: Date; issueDate?: Date; primaryIdentifier?: string; secondaryIdentifier?: string; type: DocumentType; subType?: string; subdivision?: string; country: string; validFrom?: Date; validTo?: Date; supplementaryData?: HealthIdDocumentSupplementaryData; customAttributes?: CustomAttributeRecord; attachments?: Attachment[]; requestedAt?: string; createdAt?: string; updatedAt?: string; isPersisted: boolean; constructor(); constructor(data: DocumentConstructor); clone(): Document; toJSON(): DocumentPayload; toF1Document(): F1Document; static fromJSON(payload: DocumentPayload): Document; static default(): Document; static fromF1Document: (f1Document: F1Document, previousDocument?: Document) => Document; } //# sourceMappingURL=Document.d.ts.map