import { default as React } from 'react';
import { ErrorRecord, WarningRecord } from '../packages/utils/dist';
export declare const version: string;
export type DoenetMLFlags = {
    showCorrectness: boolean;
    readOnly: boolean;
    solutionDisplayMode: "button" | "buttonRequirePermission" | "displayed" | "none";
    showFeedback: boolean;
    showHints: boolean;
    allowLoadState: boolean;
    allowSaveState: boolean;
    saveRendererState: boolean;
    allowLocalState: boolean;
    allowSaveEvents: boolean;
    messageParent: boolean;
    autoSubmit: boolean;
};
type DoenetMLFlagsSubset = Partial<DoenetMLFlags>;
export declare const defaultFlags: 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, 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;
    setErrorsAndWarningsCallback?: (errorsAndWarnings: unknown) => 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, id, readOnly, showFormatter, showErrorsWarnings, showResponses, border, 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;
    id?: string;
    readOnly?: boolean;
    showFormatter?: boolean;
    showErrorsWarnings?: boolean;
    showResponses?: boolean;
    border?: string;
    initialErrors?: ErrorRecord[];
    initialWarnings?: WarningRecord[];
    fetchExternalDoenetML?: (arg: string) => Promise<string>;
}): React.JSX.Element;
export {};
//# sourceMappingURL=doenetml.d.ts.map