import * as react_jsx_runtime from 'react/jsx-runtime'; import { HTMLAttributes, ComponentProps } from 'react'; import { BundledLanguage, ThemedToken } from 'shiki'; import { Button } from '../ui/button.js'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../ui/select.js'; import 'class-variance-authority/types'; import '@base-ui/react/button'; import 'class-variance-authority'; import '@base-ui/react/select'; type CodeBlockProps = HTMLAttributes & { code: string; language: BundledLanguage; showLineNumbers?: boolean; }; interface TokenizedCode { tokens: ThemedToken[][]; fg: string; bg: string; } declare const peekHighlightCache: (code: string, language: BundledLanguage) => TokenizedCode | null; declare const unsubscribeHighlight: (code: string, language: BundledLanguage, callback: (result: TokenizedCode) => void) => void; declare const highlightCode: (code: string, language: BundledLanguage, callback?: (result: TokenizedCode) => void) => TokenizedCode | null; declare const CodeBlockContainer: ({ className, language, style, ...props }: HTMLAttributes & { language: string; }) => react_jsx_runtime.JSX.Element; declare const CodeBlockHeader: ({ children, className, ...props }: HTMLAttributes) => react_jsx_runtime.JSX.Element; declare const CodeBlockTitle: ({ children, className, ...props }: HTMLAttributes) => react_jsx_runtime.JSX.Element; declare const CodeBlockFilename: ({ children, className, ...props }: HTMLAttributes) => react_jsx_runtime.JSX.Element; declare const CodeBlockActions: ({ children, className, ...props }: HTMLAttributes) => react_jsx_runtime.JSX.Element; declare const CodeBlockContent: ({ code, language, showLineNumbers, }: { code: string; language: BundledLanguage; showLineNumbers?: boolean; }) => react_jsx_runtime.JSX.Element; declare const CodeBlock: ({ code, language, showLineNumbers, className, children, ...props }: CodeBlockProps) => react_jsx_runtime.JSX.Element; type CodeBlockCopyButtonProps = ComponentProps & { onCopy?: () => void; onError?: (error: Error) => void; timeout?: number; }; declare const CodeBlockCopyButton: ({ onCopy, onError, timeout, children, className, ...props }: CodeBlockCopyButtonProps) => react_jsx_runtime.JSX.Element; type CodeBlockLanguageSelectorProps = ComponentProps; declare const CodeBlockLanguageSelector: (props: CodeBlockLanguageSelectorProps) => react_jsx_runtime.JSX.Element; type CodeBlockLanguageSelectorTriggerProps = ComponentProps; declare const CodeBlockLanguageSelectorTrigger: ({ className, ...props }: CodeBlockLanguageSelectorTriggerProps) => react_jsx_runtime.JSX.Element; type CodeBlockLanguageSelectorValueProps = ComponentProps; declare const CodeBlockLanguageSelectorValue: (props: CodeBlockLanguageSelectorValueProps) => react_jsx_runtime.JSX.Element; type CodeBlockLanguageSelectorContentProps = ComponentProps; declare const CodeBlockLanguageSelectorContent: ({ align, ...props }: CodeBlockLanguageSelectorContentProps) => react_jsx_runtime.JSX.Element; type CodeBlockLanguageSelectorItemProps = ComponentProps; declare const CodeBlockLanguageSelectorItem: (props: CodeBlockLanguageSelectorItemProps) => react_jsx_runtime.JSX.Element; export { CodeBlock, CodeBlockActions, CodeBlockContainer, CodeBlockContent, CodeBlockCopyButton, type CodeBlockCopyButtonProps, CodeBlockFilename, CodeBlockHeader, CodeBlockLanguageSelector, CodeBlockLanguageSelectorContent, type CodeBlockLanguageSelectorContentProps, CodeBlockLanguageSelectorItem, type CodeBlockLanguageSelectorItemProps, type CodeBlockLanguageSelectorProps, CodeBlockLanguageSelectorTrigger, type CodeBlockLanguageSelectorTriggerProps, CodeBlockLanguageSelectorValue, type CodeBlockLanguageSelectorValueProps, CodeBlockTitle, highlightCode, peekHighlightCache, unsubscribeHighlight };