import * as _$_emotion_styled0 from "@emotion/styled";
import * as _$react from "react";
import * as _$_emotion_react0 from "@emotion/react";
import * as _$_emotion_react_jsx_runtime0 from "@emotion/react/jsx-runtime";
//#region src/components/CodeBlock.d.ts
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_styled0.StyledComponent<{
  theme?: _$_emotion_react0.Theme;
  as?: React.ElementType;
}, _$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_runtime0.JSX.Element;
declare const StyledCodeBlock: _$_emotion_styled0.StyledComponent<{
  theme?: _$_emotion_react0.Theme;
  as?: React.ElementType;
}, _$react.DetailedHTMLProps<_$react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
//#endregion
export { ProgrammingOptionNames as a, ProgrammingLanguages as i, InlineCode as n, StyledCodeBlock as o, ProgrammingLanguageOptions as r, CodeBlock as t };