import { ComponentProps, ForwardRefExoticComponent, HTMLAttributes, RefAttributes } from 'react'; import { BundledLanguage } from 'shiki/bundle/web'; import { Button } from '../button/button'; export declare function getCollapsedPreviewDisplay(code: string): string; export declare function isContentLargerThanPreview(code: string): boolean; export declare function shouldUsePlainTextInsteadOfShiki(code: string, lineCount: number): boolean; export declare function plainPreMarkup(code: string): string; declare const CodeBlock: ForwardRefExoticComponent & { code: string; copyText?: string; collapsed?: boolean; language: BundledLanguage; showLineNumbers?: boolean; } & RefAttributes>; type CodeBlockCopyButtonProps = ComponentProps & { onCopy?: () => void; onError?: (error: Error) => void; timeout?: number; }; declare const CodeBlockCopyButton: ForwardRefExoticComponent & RefAttributes>; declare const CodeBlockCollapseButton: ForwardRefExoticComponent, 'ref'> & RefAttributes>; type CodeBlockDownloadButtonProps = ComponentProps & { fileName?: string; mimeType?: string; onDownload?: () => void; onError?: (error: Error) => void; }; declare const CodeBlockDownloadButton: ForwardRefExoticComponent & RefAttributes>; export { CodeBlock, CodeBlockCollapseButton, CodeBlockCopyButton, CodeBlockDownloadButton, };