import { OnlineAttendanceService } from 'src/online-attendance/online-attendance.service';
import { SessionCommunicationService } from 'src/session-communication/session-communication.service';
import { ZoomWebinarRepository } from '../repositories/zoom-webinar.repository';
import { ZoomRegistrationRepository } from '../repositories/zoom-registration.repository';
import { ZoomAnalyticsAttendeeSummaryRepository } from '../repositories/zoom-analytics-attendee-summary.repository';
import { ZoomAnalyticsRosterRepository } from '../repositories/zoom-analytics-roster.repository';
import { ZoomAnalyticsProviderRegistry } from '../registries/zoom-analytics-provider.registry';
import { ZoomAnalyticsConfigService } from './zoom-analytics-config.service';
import { ZoomProgramOverallAnalytics } from '../interfaces/zoom-analytics.interface';
export declare class ZoomProgramAnalyticsService {
    private readonly webinarRepository;
    private readonly registrationRepository;
    private readonly attendeeSummaryRepository;
    private readonly rosterRepository;
    private readonly providerRegistry;
    private readonly onlineAttendanceService;
    private readonly sessionCommunicationService;
    private readonly config;
    constructor(webinarRepository: ZoomWebinarRepository, registrationRepository: ZoomRegistrationRepository, attendeeSummaryRepository: ZoomAnalyticsAttendeeSummaryRepository, rosterRepository: ZoomAnalyticsRosterRepository, providerRegistry: ZoomAnalyticsProviderRegistry, onlineAttendanceService: OnlineAttendanceService, sessionCommunicationService: SessionCommunicationService, config: ZoomAnalyticsConfigService);
    getOverallAnalytics(programId: number): Promise<ZoomProgramOverallAnalytics>;
}
