/**
 * Copyright (c) Adaptavist, Inc.
 */
import { ComponentPropsWithoutRef } from 'react';
export type ICode = ComponentPropsWithoutRef<'div'> & {
    /**
     * Prop for setting the content of the Code Molecule.
     *
     * Default is `an empty string`.
     */
    content: string;
    /**
     * Prop for setting the language that is used for the code content.
     *
     * [See here](https://github.com/react-syntax-highlighter/react-syntax-highlighter/blob/master/AVAILABLE_LANGUAGES_PRISM.MD) for full list of languages that can be used
     *
     * Default is `tsx`.
     */
    language?: string;
    /**
     * Prop for setting the theme that is used for the syntax highlighting in the code block
     *
     * [See here](https://github.com/react-syntax-highlighter/react-syntax-highlighter/blob/master/AVAILABLE_STYLES_PRISM.MD) for full list of styles that can be used
     *
     * Default theme is `vscDarkPlus`.
     */
    theme?: {
        [key: string]: React.CSSProperties;
    };
    /**
     * Prop for setting custom styles to override the selected theme
     */
    codeCustomStyles?: {
        [key: string]: React.CSSProperties;
    };
    /**
     * Prop for setting if the Code Molecule has a copy button or not.
     *
     * If set to true, the copy button will be shown.
     * If set to false, the copy button will not be shown.
     *
     * Default is `true`.
     */
    canCopy?: boolean;
    /**
     * Prop for setting if this specific Code Molecule should be open when the Component renders.
     *
     * If set to true, the Code Molecule will be open on render.
     * If set to false, the Code Molecule will be in its' default state on render.
     *
     * Default is `false`.
     */
    isOpenByDefault?: boolean;
    /**
     * Prop for setting if this specific Code Molecule should always be open and unable to close at all.
     *
     * If set to true, the user will not be able to close the Code Molecule.
     * If set to false, the user will be able to close the Code Molecule.
     *
     * Default is `false`.
     */
    isOpenPermanently?: boolean;
    highlightedLines?: string | number | number[];
};
