import * as _emotion_react_jsx_runtime from '@emotion/react/jsx-runtime';
import * as _emotion_styled from '@emotion/styled';
import * as react from 'react';
import * as _emotion_react from '@emotion/react';

declare const ProgrammingLanguageOptions: {
    readonly Bash: "bash";
    readonly Flutter: "dart";
    readonly Go: "go";
    readonly GraphQL: "graphql";
    readonly Java: "java";
    readonly JavaScript: "js";
    readonly JSON: "json";
    readonly Kotlin: "kotlin";
    readonly Python: "python";
    readonly React: "react";
    readonly ReactNative: "tsx";
    readonly Rust: "rust";
    readonly Swift: "swift";
    readonly Text: "txt";
};
type ProgrammingOptionNames = keyof typeof ProgrammingLanguageOptions;
type ProgrammingLanguages = (typeof ProgrammingLanguageOptions)[keyof typeof ProgrammingLanguageOptions];
declare const InlineCode: _emotion_styled.StyledComponent<{
    theme?: _emotion_react.Theme;
    as?: react.ElementType<any>;
}, react.DetailedHTMLProps<react.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
type CodeBlockProps = {
    title?: string;
    children: string;
    className?: string;
    language?: ProgrammingOptionNames;
    languageOptions?: Array<ProgrammingOptionNames>;
    onSelectLanguage?: (language: ProgrammingOptionNames) => void;
    withCopyButton?: boolean;
};
declare const CodeBlock: ({ title, children, className, language, languageOptions, onSelectLanguage, withCopyButton, }: CodeBlockProps) => _emotion_react_jsx_runtime.JSX.Element;
declare const StyledCodeBlock: _emotion_styled.StyledComponent<{
    theme?: _emotion_react.Theme;
    as?: react.ElementType<any>;
}, react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;

export { CodeBlock, InlineCode, ProgrammingLanguageOptions, ProgrammingLanguages, ProgrammingOptionNames, StyledCodeBlock };
