import 'prismjs/prism.js';
import 'prismjs/components/prism-json.min.js';
import 'prismjs/components/prism-javascript.js';
import 'prismjs/components/prism-markdown.js';
import 'prismjs/components/prism-markup.js';
import 'prismjs/components/prism-yaml.js';
import 'prismjs/components/prism-xml-doc.js';
import 'prismjs/components/prism-dart.js';
export declare class PrismHighlighter {
    protected listener?: (code: string) => unknown;
    /**
     * The number of milliseconds the library will wait before it runs the tokenizer.
     */
    debounceTimeout: number;
    protected debounceTimer?: number;
    /**
     * @param highlightListener The listener for the debounced code highlight
     */
    constructor(highlightListener?: (code: string) => unknown);
    /**
     * A function to be called to run the highlighter in a debouncer.
     * To use this library this way set the `highlightListener` in the constructor
     * which will be called when highlighting is done.
     *
     * @param code The code to highlight
     * @param lang The language to use.
     */
    debounce(code: string, lang: string): void;
    /**
     * Translates the code into a HTML markup
     */
    tokenize(code: string, lang?: string): string;
    /**
     * Picks a Prism formatter based on the `lang` hint and `code`.
     *
     * @param code The source being highlighted.
     * @param lang A language hint (e.g. ````LANG`).
     */
    detectLang(code: string, lang?: string): Prism.Grammar;
}
//# sourceMappingURL=PrismHighlighter.d.ts.map