import React from "react";
import { type AvatarFallbackStatus, type ControlBarProps, CoursePanel, type CoursePanelCourse, type DialogCloseReason, type DialogProps } from "@obi/cor-components";
export type CourseDialogContentProps = {
    /**
     * Captions text shown over the left panel (e.g. agent subtitles).
     * When omitted, the captions overlay is hidden.
     */
    captionsText?: React.ReactNode;
    /**
     * AvatarFallback audio power (0..1) used to drive the speaking halo.
     */
    avatarAudioPower?: number;
    avatarImageSrc?: string;
    avatarAriaLabel?: string;
    /**
     * Activity status shown as text beneath the avatar circle.
     * When "thinking" or "searching", displays corresponding status text.
     */
    avatarStatus?: AvatarFallbackStatus | null;
    /**
     * Optional override for the avatar status label text.
     * When provided, it renders instead of the default status label mapping.
     */
    avatarStatusLabel?: React.ReactNode;
    /**
     * Props forwarded to the meeting ControlBar beneath the video tile.
     */
    controlBarProps: ControlBarProps;
    /**
     * Tutorials shown in the tutorial selection panel.
     */
    courses: CoursePanelCourse[];
    /**
     * Props forwarded to CoursePanel to control selection behaviour/state.
     */
    coursePanelProps?: Omit<React.ComponentProps<typeof CoursePanel>, "courses">;
    /**
     * Optional replacement content for the middle panel.
     * When provided, this replaces the default CoursePanel, allowing
     * the dialog to show an outline or other alternate content.
     */
    middlePanel?: React.ReactNode;
    /**
     * Optional third panel rendered to the right of the middle panel.
     * When provided, this displays alongside the tutorial list/outline,
     * enabling chat or other messaging content.
     */
    rightPanel?: React.ReactNode;
    /**
     * When true, indicates that the tutorial outline is currently being shown.
     * Used to determine when to show the return to PiP button.
     */
    isCourseOutlineOpen?: boolean;
    /**
     * Called when the return to PiP button is clicked.
     * The button is only shown when isCourseOutlineOpen is true and this callback is provided.
     */
    onReturnToPiP?: () => void;
    className?: string;
};
/**
 * CourseDialogContent renders the panelled tutorial selection UI without owning dialog state.
 * This makes it easy to reuse in Storybook without needing to click a trigger to open.
 */
export declare function CourseDialogContent(props: CourseDialogContentProps): import("react/jsx-runtime").JSX.Element;
export type CourseDialogProps = CourseDialogContentProps & Pick<DialogProps, "open"> & {
    onClose?: (reason: DialogCloseReason) => void;
    dialogProps?: Omit<DialogProps, "open" | "onClose" | "variant" | "children">;
};
export declare function CourseDialog(props: CourseDialogProps): import("react/jsx-runtime").JSX.Element;
