import * as react_jsx_runtime from 'react/jsx-runtime';
import { Project, GUIMode } from '@fullstackcraftllc/codevideo-types';

declare const CODEVIDEO_IDE_ID = "codevideo-ide-react";

interface ICodeVideoIDEProps {
    theme: 'light' | 'dark';
    project: Project;
    mode: GUIMode;
    allowFocusInEditor: boolean;
    currentActionIndex: number;
    currentLessonIndex: number | null;
    defaultLanguage: string;
    isExternalBrowserStepUrl: string | null;
    isSoundOn: boolean;
    withCaptions: boolean;
    actionFinishedCallback?: () => void;
    playBackCompleteCallback?: () => void;
    speakActionAudios: Array<{
        text: string;
        mp3Url: string;
    }>;
    fileExplorerWidth?: number;
    terminalHeight?: number;
    mouseColor?: string;
    fontSizePx?: number;
    monacoLoadedCallback?: () => void;
    isEmbedMode?: boolean;
    requestStepModeCallback?: (mode: GUIMode) => void;
    requestNextActionCallback?: () => void;
    requestPreviousActionCallback?: () => void;
    requestPlaybackStartCallback?: () => void;
}
/**
 * Represents a powerful IDE with file explorer, multiple editors, and terminal
 * @param props
 * @returns
 */
declare function CodeVideoIDE(props: ICodeVideoIDEProps): react_jsx_runtime.JSX.Element;

export { CODEVIDEO_IDE_ID, CodeVideoIDE, type ICodeVideoIDEProps };
