import React from 'react';
import { Language } from './types';
import './clarity';
export * from './types';
declare type PrismToken = {
    type: string;
    content: (PrismToken | string)[] | string;
};
declare type PrismGrammar = {
    [key: string]: any;
};
declare type LanguageDict = {
    [lang in Language]: PrismGrammar;
};
declare type PrismLib = {
    languages: LanguageDict;
    tokenize: (code: string, grammar: PrismGrammar, language: Language) => PrismToken[] | string[];
    highlight: (code: string, grammar: PrismGrammar, language: Language) => string;
};
export interface HighlighterProps {
    code: string;
    language?: Language;
    showLineNumbers?: boolean;
    hideLineHover?: boolean;
    Prism: PrismLib;
}
export declare const Highlighter: React.MemoExoticComponent<({ code, language, showLineNumbers, hideLineHover, Prism }: HighlighterProps) => JSX.Element>;
