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; export default CodeModal;