/**
 * This exposes a utility that wraps an ANTLR-generated lexer in a TokensProvider class and returns that class.
 * The underlying logic is mostly lifted from https://tomassetti.me/writing-a-browser-based-editor-using-monaco-and-antlr.
 */
import * as monaco from "monaco-editor/esm/vs/editor/editor.api";
import ILineTokens = monaco.languages.ILineTokens;
import { Token } from "antlr4ng";
type SyntaxChecker = {
    Parser: any;
    onError: (offendingSymbol: Token | null, line: number, column: number, msg: string) => void;
};
/**
 * Generates a TokensProvider for use with the CodeEditor component.
 * Provide the optional syntaxChecker config to enable client-side syntax checking.
 */
export declare const generateTokensProvider: (Lexer: any, syntaxChecker?: SyntaxChecker) => {
    new (): {
        getInitialState(): monaco.languages.IState;
        tokenize(line: string): monaco.languages.ILineTokens;
        tokensForLine(input: string): monaco.languages.ILineTokens;
    };
};
export {};
