import { FileValue } from '../document/document-models'; import { Session } from '../session/session-models'; export declare enum ParticipantRoles { signer = "Principal", witness = "Witness", noSignatureWitness = "Witness-No-Signature" } export declare const PARTICIPANT_ROLES: ParticipantRoles[]; export declare enum ParticipantStatus { notVerified = "Not Verified", verified = "Verified", failed = "Failed" } export declare enum LOCK_DOCUMENT_DECISION_VALUES { ACCEPTED = "ACCEPTED", REJECTED = "REJECTED", DEFAULT = "" } export interface Participant { id?: string; firstName: string; lastName: string; email: string; role: ParticipantRoles; personallyKnown: boolean; address?: string; token?: string; hasSigned?: boolean; photo?: FileValue; status?: ParticipantStatus; isMuted?: boolean; __typename?: string; documentPicture?: FileValue; documentPictureBack?: FileValue; facePicture?: FileValue; attempts?: number; session?: Session; lockDocumentDecision?: LOCK_DOCUMENT_DECISION_VALUES; faceValidated?: boolean; ipAddress?: string; phone?: string; hash?: string; } export declare type ParticipantKeys = keyof Participant; export declare type ParticipantPropertyTypes = Participant[ParticipantKeys]; export interface Participants { items: Participant[]; } /** * To create a participant with the base data for the forms, if the participant * has missing fields it will set those to the default fields. * * @param participant - The participant data. * @param participant.firstName - The participant name. * @param participant.lastName - The participant last name. * @param participant.email - The participant email. * @param participant.role - The participant role. * @param participant.hasSigned - If the participant has signed. * @param participant.personallyKnown - If the participant is personally Known. * @returns A participant with all the fields. */ export declare const createParticipantModel: ({ firstName, lastName, email, role, hasSigned, personallyKnown, }: Participant) => Participant;