import { Repository } from 'typeorm';
import { ProgramRegistrationOnlineSession, ProgramSession, ProgramUserAttendance } from 'src/common/entities';
import { AppLoggerService } from 'src/common/services/logger.service';
import { RegistrationLike, RegistrationOnlineSessionInfo, RegistrationViewerContact } from './interfaces/registration-session-info.interface';
export declare class RegistrationSessionInfoService {
    private readonly sessionRepo;
    private readonly registrationOnlineSessionRepo;
    private readonly attendanceRepo;
    private readonly logger;
    constructor(sessionRepo: Repository<ProgramSession>, registrationOnlineSessionRepo: Repository<ProgramRegistrationOnlineSession>, attendanceRepo: Repository<ProgramUserAttendance>, logger: AppLoggerService);
    buildForRegistration(registration: RegistrationLike, viewerContact?: RegistrationViewerContact): Promise<RegistrationOnlineSessionInfo[]>;
    isEligibleToJoin(registration: RegistrationLike, viewerContact?: RegistrationViewerContact): boolean;
    buildForRegistrations(registrations: RegistrationLike[], viewerContact?: RegistrationViewerContact): Promise<Map<number, RegistrationOnlineSessionInfo[]>>;
    private loadJoinUrls;
    private loadAttendance;
    private toInfo;
}
