import { type VariantProps } from 'class-variance-authority'; import type * as React from 'react'; declare const codeBlockVariants: (props?: ({ size?: "lg" | "md" | "sm" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; export interface AICodeBlockHeaderProps { /** Programming language */ language?: string; /** File name to display */ fileName?: string; /** Whether to show copy button */ showCopyButton?: boolean; /** Callback when copy is clicked */ onCopy?: () => void; /** Whether content was copied */ copied?: boolean; /** Additional class name */ className?: string; /** Extra actions to render */ actions?: React.ReactNode; } declare function AICodeBlockHeader({ language, fileName, showCopyButton, onCopy, copied, className, actions, }: AICodeBlockHeaderProps): React.JSX.Element; declare namespace AICodeBlockHeader { var displayName: string; } export interface AICodeBlockContentProps { /** Code content */ children: React.ReactNode; /** Whether to show line numbers */ showLineNumbers?: boolean; /** Starting line number */ startLineNumber?: number; /** Additional class name */ className?: string; } declare function AICodeBlockContent({ children, showLineNumbers, startLineNumber, className, }: AICodeBlockContentProps): React.JSX.Element; declare namespace AICodeBlockContent { var displayName: string; } export interface AICodeBlockProps extends VariantProps { /** Code content to display */ code: string; /** Programming language for syntax highlighting */ language?: string; /** File name to display in header */ fileName?: string; /** Whether to show the header */ showHeader?: boolean; /** Whether to show copy button */ showCopyButton?: boolean; /** Whether to show line numbers */ showLineNumbers?: boolean; /** Starting line number */ startLineNumber?: number; /** Pre-highlighted HTML content */ highlightedCode?: string; /** Additional class name */ className?: string; /** Extra actions for the header */ headerActions?: React.ReactNode; } declare function AICodeBlock({ code, language, fileName, showHeader, showCopyButton, showLineNumbers, startLineNumber, highlightedCode, size, className, headerActions, }: AICodeBlockProps): React.JSX.Element; declare namespace AICodeBlock { var displayName: string; } export { AICodeBlock, AICodeBlockContent, AICodeBlockHeader, codeBlockVariants, };