import { ReactNode, RefObject } from 'react'; import { CodeBlockTheme, CodeStyling } from '../../utils/shiki/code-styling'; import { CopyToClipboardButtonProps } from './copy-button'; type CodeBlockProps = { language?: string; filename?: string; icon?: string; lang?: string; className?: string; /** * Whether to show line numbers. */ lines?: boolean; /** * Whether to wrap the code block. */ wrap?: boolean; /** * Whether to expand the code block. */ expandable?: boolean; /** * The lines to highlight. it's a stringified array of numbers. * Example: "[1,3,4,5]" */ highlight?: string; /** * The lines to focus on. it's a stringified array of numbers. * Example: "[1,3,4,5]" */ focus?: string; /** * Internal prop to set the number of lines in the code block. * Users should not set this prop. */ numberOfLines?: number; /** * Prop to hide the ask ai button */ hideAskAiButton?: boolean; /** * Prop to set the small text size */ isSmallText?: boolean; /** * Pass in from CodeSnippetFeedbackProvider */ feedbackModalOpen?: boolean; /** * Pass in from CodeSnippetFeedbackProvider */ anchorRef?: RefObject; /** * Prop to set the code block theme (code block UI theme) */ codeBlockTheme?: CodeBlockTheme; /** * Prop to set the code block theme object (syntax highlighting theme) */ codeBlockThemeObject?: CodeStyling; /** * Pass in AskAiCodeBlockButton component */ askAiButton?: ReactNode; /** * Pass in CodeSnippetFeedbackButton component */ feedbackButton?: ReactNode; children?: ReactNode; copyButtonProps?: CopyToClipboardButtonProps; }; declare const CodeBlock: (params: CodeBlockProps) => import("react/jsx-runtime").JSX.Element; export { type CodeBlockProps, CodeBlock }; //# sourceMappingURL=code-block.d.ts.map