import { Participants } from '../participant/participant-models'; import { SessionDocuments } from '../session-document/session-document-models'; import { FileValue } from '../document/document-models'; import { User } from '../auth/auth-models'; import { SessionPayment } from '../session-payment/session-payment-models'; export declare enum SessionTypes { remote = "Remote Online Notarization", enotarization = "e-notarization" } export declare const SESSION_TYPES: SessionTypes[]; export declare enum SessionStatus { pending = "Pending", verified = "Verified", failed = "Failed", completed = "Completed" } export declare enum SessionStartedOptions { started = "Yes", not_started = "No" } export declare const SESSION_STATUS: SessionStatus[]; export interface Session { id?: string; status?: SessionStatus; date: string; duration?: number; type: SessionTypes; session_participantRelations: Participants; session_sessionDocumentRefs: SessionDocuments; documentsDescription: string; notarialAct: string; state: string; timezone: string; feeCollected: number | null; createdBy?: User; video?: FileValue; sessionNumber?: number; sessionPayment?: SessionPayment; started?: SessionStartedOptions; startedDate?: string; finalizeDate?: string; __typename?: string; } export declare type SessionKeys = keyof Session; export declare type SessionPropertyTypes = Session[SessionKeys]; export interface Sessions { items: Sessions[]; } /** * To create a session with the base data for the forms, if the session * has missing fields it will set those to the default fields. * * @param session - The session data. * @param session.status - The session status. * @param session.date - The session date. * @param session.type - The session type. * @param session.session_participantRelations - The session participants. * @param session.session_sessionDocumentRefs - The session documents. * @param session.documentsDescription - The documents description. * @param session.notarialAct - The session notarial act. * @param session.state - The state of the country. * @param session.timezone - The timezone of the session. * @param session.feeCollected - The session fee. * @param session.duration - The session's duration. * @returns A sessions. */ export declare const createSessionModel: ({ status, date, type, session_participantRelations: participants, session_sessionDocumentRefs: sessionDocuments, documentsDescription, notarialAct, state, timezone, feeCollected, duration, }: Session) => Session; export declare type SessionLog = { id?: string; Message: string; Time?: string; createdAt?: string; session?: Session; };