import { OnlineTypeEnum } from 'src/common/enum/online-type.enum';
import { SessionLaunchMode } from 'src/common/enum/session-launch-mode.enum';
import { RegistrationOnlineSessionActivationStatus } from 'src/common/enum/registration-online-session-activation-status.enum';
export interface RegistrationLike {
    id: number;
    programId?: number | null;
    userId?: number | null;
    emailAddress?: string | null;
    mobileNumber?: string | null;
    seatAllocated?: boolean | null;
    activationStatus?: RegistrationOnlineSessionActivationStatus | null;
}
export interface RegistrationViewerContact {
    emailAddress?: string | null;
    mobileNumber?: string | null;
}
export interface RegistrationSessionAttendance {
    isAttended: boolean;
    checkedInAt: Date | null;
    viaJoinClick: boolean;
    viaZoom: boolean;
    viaManual: boolean;
}
export interface RegistrationOnlineSessionInfo {
    sessionId: number;
    sessionName: string | null;
    onlineType: OnlineTypeEnum | null;
    startsAt: Date | null;
    endsAt: Date | null;
    launchMode: SessionLaunchMode;
    providerType: string | null;
    provisioned: boolean;
    webinarId: string | null;
    joinUrl: string | null;
    isPanelist: boolean;
    eligibleToJoin: boolean;
    joinEnabled: boolean;
    joinOpensAt: Date | null;
    joinClosesAt: Date | null;
    preSessionJoiningTime: number;
    attendance: RegistrationSessionAttendance;
}
