import type { GptWidgetOptions } from "../../../index.js";
import { type DecorationSet, type EditorView, ViewPlugin, type ViewUpdate } from "../../../../cm/view.js";
import type { CommonAnswer } from "../ErrorScreen/types.js";
export declare function mGptPlugin<AnswerData extends CommonAnswer = CommonAnswer, PromptData extends unknown = unknown>(gptProps: GptWidgetOptions<AnswerData, PromptData>): ViewPlugin<{
    readonly _view: EditorView;
    readonly _renderItem: import("../../../index.js").RendererItem;
    _anchor: Element | null;
    decos: DecorationSet;
    disablePromptPresets: boolean;
    markup: string | null;
    selectedPosition: {
        from: number;
        to: number;
    };
    update(update: ViewUpdate): void;
    docViewUpdate(): void;
    destroy(): void;
    renderPopup(): JSX.Element | null;
    _getDecorationText(update: ViewUpdate, from: number, to: number): string;
    _clearSelectedText(): void;
    _setSelectedText(str: string): void;
    _onApplyResult(changedMarkup: string): void;
}>;
