import type { HTMLAttributes, ReactNode, Ref } from 'react'; import { type VariantProps } from 'class-variance-authority'; import { type TestableProps } from '../../utils/testId'; import { type LineConfig } from './CodeSnippetContext'; import { type FoldRegion } from './lib/foldUtils'; declare const codeSnippetRootVariants: (props?: ({ size?: "sm" | "md" | "lg" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; type CodeSnippetRootVariantProps = VariantProps; type CodeSnippetRootNativeProps = Omit, 'children'>; export type CodeSnippetRootProps = CodeSnippetRootNativeProps & CodeSnippetRootVariantProps & TestableProps & { ref?: Ref; /** The code string to display */ code: string; /** Programming language for syntax highlighting */ language?: TLanguage; /** Per-line configuration (color, prefix) keyed by line number */ lines?: Record; /** Starting line number (default: 1) */ startingLineNumber?: number; /** Enable line wrapping */ wrapLines?: boolean; /** * Max lines before collapsing. * Root auto-renders the default show-more button unless a direct * `CodeSnippetShowMoreButton` child is provided for button-level props. */ maxLines?: number; /** Foldable regions that can be collapsed/expanded */ folds?: FoldRegion[]; /** Callback when code is copied */ onCopy?: (code: string) => void; /** Child components */ children?: ReactNode; }; /** * Code block with syntax highlighting, actions, line numbers, folding, and maxLines collapse. */ export declare const CodeSnippetRoot: { ({ code, language, size, lines, startingLineNumber, wrapLines: initialWrapLines, maxLines, folds: foldsProp, onCopy, className, children, "data-testid": testId, ...props }: CodeSnippetRootProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; export {};