import type { FunctionComponent, MouseEvent } from 'react';
import { ChatbotDisplayMode } from '../Chatbot';
export interface CodeModalProps {
    /** Class applied to code editor */
    codeEditorControlClassName?: string;
    /** Text shown in code editor */
    code: string;
    /** Filename, including extension, of file shown in editor */
    fileName: string;
    /** Whether copying code is allowed */
    isCopyEnabled?: boolean;
    /** Whether line numbers show in the code editor */
    isLineNumbersVisible?: boolean;
    /** Whether code is read-only */
    isReadOnly?: boolean;
    /** Action assigned to primary modal button */
    onPrimaryAction: (event: React.MouseEvent | MouseEvent | KeyboardEvent, code?: string) => void;
    /** Action assigned to secondary modal button */
    onSecondaryAction: (event: React.MouseEvent | MouseEvent | KeyboardEvent) => void;
    /** Name of primary modal button */
    primaryActionBtn: string;
    /** Name of secondary modal button */
    secondaryActionBtn: string;
    /** Function that handles modal toggle */
    handleModalToggle: (event: React.MouseEvent | MouseEvent | KeyboardEvent) => void;
    /** Whether modal is open */
    isModalOpen: boolean;
    /** Title of modal */
    title: string;
    /** Display mode for the Chatbot parent; this influences the styles applied */
    displayMode?: ChatbotDisplayMode;
    /** Sets modal to compact styling. */
    isCompact?: boolean;
    /** Class applied to modal header */
    modalHeaderClassName?: string;
    /** Class applied to modal body */
    modalBodyClassName?: string;
    /** Class applied to modal footer */
    modalFooterClassName?: string;
    /** Aria label applied to spinner when loading Monaco */
    spinnerAriaLabel?: string;
}
export declare const CodeModal: FunctionComponent<CodeModalProps>;
export default CodeModal;
