import { default as React } from 'react';
import { DiagnosticRecord, ErrorRecord, WarningRecord } from '../packages/utils/dist';
import { DoenetMLFlags } from './flags';
export type { DoenetMLFlags } from './flags';
export { defaultFlags } from './flags';
export declare const version: string;
type DoenetMLFlagsSubset = Partial<DoenetMLFlags>;
/**
 * A context that is used to keep track of the currently focused math input. This is used
 * for processing events from the virtual keyboard.
 */
export declare const FocusedMathInputContext: React.Context<React.MutableRefObject<HTMLElement | null>>;
export declare function DoenetViewer({ doenetML, flags: specifiedFlags, activityId, docId, prefixForIds, userId, attemptNumber, render, requestedVariantIndex, initialState, reportScoreAndStateCallback, setIsInErrorState, generatedVariantCallback: specifiedGeneratedVariantCallback, documentStructureCallback, initializedCallback, setDiagnosticsCallback, setErrorsAndWarningsCallback, forceDisable, forceShowCorrectness, forceShowSolution, forceUnsuppressCheckWork, addVirtualKeyboard, externalVirtualKeyboardProvided, doenetViewerUrl, darkMode, showAnswerResponseButton, answerResponseCounts, includeVariantSelector, initializeCounters, fetchExternalDoenetML, requestScrollTo, onInit, }: {
    doenetML: string;
    flags?: DoenetMLFlagsSubset;
    activityId?: string;
    docId?: string;
    prefixForIds?: string;
    userId?: string;
    attemptNumber?: number;
    render?: boolean;
    requestedVariantIndex?: number;
    initialState?: Record<string, any> | null;
    reportScoreAndStateCallback?: (data: {
        score: number;
        state: unknown;
        activityId: string;
        docId: string;
    }) => void;
    setIsInErrorState?: Function;
    generatedVariantCallback?: Function;
    documentStructureCallback?: Function;
    initializedCallback?: Function;
    setDiagnosticsCallback?: (diagnostics: DiagnosticRecord[]) => void;
    /**
     * @deprecated Use `setDiagnosticsCallback` instead.
     */
    setErrorsAndWarningsCallback?: (errorsAndWarnings: {
        errors: ErrorRecord[];
        warnings: WarningRecord[];
    }) => void;
    forceDisable?: boolean;
    forceShowCorrectness?: boolean;
    forceShowSolution?: boolean;
    forceUnsuppressCheckWork?: boolean;
    addVirtualKeyboard?: boolean;
    externalVirtualKeyboardProvided?: boolean;
    doenetViewerUrl?: string;
    darkMode?: "dark" | "light";
    showAnswerResponseButton?: boolean;
    answerResponseCounts?: Record<string, number>;
    includeVariantSelector?: boolean;
    initializeCounters?: Record<string, number>;
    fetchExternalDoenetML?: (arg: string) => Promise<string>;
    requestScrollTo?: (offset: number) => void;
    /**
     * Called when React has initialized and passed the DOM node that is a parent of
     * the DoenetML UI.
     */
    onInit?: (elm: HTMLElement) => void;
}): React.JSX.Element;
export declare function DoenetEditor({ doenetML, activityId, prefixForIds, addVirtualKeyboard, externalVirtualKeyboardProvided, doenetViewerUrl, darkMode, showAnswerResponseButton, answerResponseCounts, width, height, viewerLocation, backgroundColor, showViewer, doenetmlChangeCallback, immediateDoenetmlChangeCallback, documentStructureCallback, isAccessibleCallback, id, readOnly, showFormatter, showDiagnostics, showErrorsWarnings, showResponses, border, initialDiagnostics, initialErrors, initialWarnings, fetchExternalDoenetML, }: {
    doenetML: string;
    activityId?: string;
    prefixForIds?: string;
    addVirtualKeyboard?: boolean;
    externalVirtualKeyboardProvided?: boolean;
    doenetViewerUrl?: string;
    darkMode?: "dark" | "light";
    showAnswerResponseButton?: boolean;
    answerResponseCounts?: Record<string, number>;
    width?: string;
    height?: string;
    viewerLocation?: "left" | "right" | "top" | "bottom";
    backgroundColor?: string;
    showViewer?: boolean;
    doenetmlChangeCallback?: Function;
    immediateDoenetmlChangeCallback?: Function;
    documentStructureCallback?: Function;
    isAccessibleCallback?: (isAccessible: boolean) => void;
    id?: string;
    readOnly?: boolean;
    showFormatter?: boolean;
    showDiagnostics?: boolean;
    showErrorsWarnings?: boolean;
    showResponses?: boolean;
    border?: string;
    initialDiagnostics?: DiagnosticRecord[];
    initialErrors?: ErrorRecord[];
    initialWarnings?: WarningRecord[];
    fetchExternalDoenetML?: (arg: string) => Promise<string>;
}): React.JSX.Element;
//# sourceMappingURL=doenetml.d.ts.map