import { type AlertProps } from '@gravity-ui/uikit';
import type { CommonAnswer, GptRequestData, PromptPreset } from "../ErrorScreen/types.js";
import "./GptDialog.css";
export type GptDialogProps<AnswerData extends CommonAnswer = CommonAnswer, PromptData extends unknown = unknown> = {
    markup: string;
    answerRender: (data: AnswerData) => JSX.Element;
    onApplyResult: (markup: string) => void;
    promptPresets?: PromptPreset<PromptData>[];
    disablePromptPresets?: boolean;
    customPromptPlaceholder?: string;
    disabledPromptPlaceholder?: string;
    onCustomPromptApply?: (data: GptRequestData<PromptData>) => Promise<AnswerData | undefined>;
    onPromptPresetClick?: (data: GptRequestData<PromptData>) => Promise<AnswerData | undefined>;
    onTryAgain?: (data: GptRequestData<PromptData>) => Promise<AnswerData | undefined>;
    onLike?: (data: GptRequestData<PromptData>) => Promise<void>;
    onDislike?: (data: GptRequestData<PromptData>) => Promise<void>;
    onClose?: () => void;
    onUpdate?: (value: AnswerData | undefined) => void;
    gptAlertProps?: {
        showedGptAlert: boolean;
        onCloseGptAlert?: () => void;
        message?: string;
        theme?: AlertProps['theme'];
        className?: string;
    };
};
export declare const cnGptDialog: import("@bem-react/classname").ClassNameFormatter;
export declare const GptDialog: <AnswerData extends CommonAnswer = CommonAnswer, PromptData extends unknown = unknown>({ markup, answerRender, promptPresets, disablePromptPresets, customPromptPlaceholder, disabledPromptPlaceholder, onCustomPromptApply, onPromptPresetClick, onTryAgain, onApplyResult, onClose, onLike, onDislike, onUpdate, gptAlertProps, }: GptDialogProps<AnswerData, PromptData>) => JSX.Element;
