import React, { type RefObject } from 'react';
import type { Lesson } from '../../../types/lessons';
import type { WhiteboardImage } from '../../../Whiteboard/index';
export interface LessonWatchModalProps {
    isOpen: boolean;
    onClose: () => void;
    selectedLesson: Lesson | null;
    userId?: string;
    getVideoData: (lesson: Lesson | null) => {
        src: string;
        poster?: string;
        subtitles?: string;
    };
    getInitialTimestampValue: (lessonId: string) => number;
    handleVideoTimeUpdate: (time: number) => void;
    handleVideoCompleteCallback: () => void;
    getPodcastData: (lesson: Lesson | null) => {
        src: string;
        title: string;
    };
    onPodcastEnded: () => void;
    getBoardImages: (lesson: Lesson | null) => WhiteboardImage[];
    getBoardImageRef: (index: number, total: number) => RefObject<HTMLDivElement | null> | null;
    /**
     * Custom footer content. If not provided, defaults to a Cancel button.
     */
    footer?: React.ReactNode;
    /**
     * Modal title. Defaults to selectedLesson?.title || 'Assistir Aula'
     */
    title?: string;
}
/**
 * Modal component for watching lessons with video, podcast, and board images
 */
export declare const LessonWatchModal: ({ isOpen, onClose, selectedLesson, userId, getVideoData, getInitialTimestampValue, handleVideoTimeUpdate, handleVideoCompleteCallback, getPodcastData, onPodcastEnded, getBoardImages, getBoardImageRef, footer, title, }: LessonWatchModalProps) => import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=LessonWatchModal.d.ts.map