import React from 'react'; import PropTypes from 'prop-types'; import { ComponentProps } from '../utils/types'; type CodeSupportedLanguages = 'bash' | 'c' | 'clike' | 'cpp' | 'cs' | 'csharp' | 'css' | 'html' | 'javascript' | 'js' | 'json' | 'jsx' | 'markup' | 'mathml' | 'plain' | 'plaintext' | 'powershell' | 'py' | 'python' | 'sh' | 'shell' | 'splunk-spl' | 'sql' | 'svg' | 'text' | 'ts' | 'tsx' | 'txt' | 'typescript' | 'xml' | 'yaml' | 'yml'; interface CodePropsBase { /** Change the style of the Code container. */ containerAppearance?: 'none' | 'section'; /** * A React ref which is set to the DOM element when the component mounts and null when it unmounts. */ elementRef?: React.Ref; /** * @private. Sets the length of the left-indent. Use only when the value of `showIndentGuide` is `true`. */ indentChars?: number; /** * Applies syntax highlighting for a specific programming language. */ language?: CodeSupportedLanguages; /** * In cases where `language` is not valid `Code` will use this value as the fallback for `language`. */ languageFallback?: CodeSupportedLanguages; /** * Accepts a comma separated list of line numbers or line number ranges to highlight. * example: `2,4-5` will highlight lines 2, 4 and 5. */ lineHighlights?: string; /** * Optional start number when showLineNumbers is true. */ lineNumberStart?: number; /** * Displays the indent guideline. */ showIndentGuide?: boolean; /** * Displays line numbers. */ showLineNumbers?: boolean; /** * Inserts code content into the code block. */ value?: string; } type CodeProps = ComponentProps; declare function Code({ containerAppearance, elementRef, indentChars, language, languageFallback, lineHighlights, lineNumberStart, showIndentGuide, showLineNumbers, value, ...otherProps }: CodeProps): React.JSX.Element; declare namespace Code { var propTypes: { containerAppearance: PropTypes.Requireable; elementRef: PropTypes.Requireable; indentChars: PropTypes.Requireable; language: PropTypes.Requireable; languageFallback: PropTypes.Requireable; lineHighlights: PropTypes.Requireable; lineNumberStart: PropTypes.Requireable; showIndentGuide: PropTypes.Requireable; showLineNumbers: PropTypes.Requireable; value: PropTypes.Requireable; }; } export default Code; export type { CodeSupportedLanguages };