import { CandidatesCollection } from 'antlr4-c3';
import { CharStream, CommonTokenStream, Token } from 'antlr4ng';
import { TrinoSqlLexer } from '../../lib/trino/TrinoSqlLexer';
import { ProgramContext, TrinoSqlParser } from '../../lib/trino/TrinoSqlParser';
import { BasicSQL } from '../common/basicSQL';
import { ErrorListener } from '../common/parseErrorListener';
import { Suggestions } from '../common/types';
import { TrinoEntityCollector } from './trinoEntityCollector';
import { TrinoErrorListener } from './trinoErrorListener';
import { TrinoSqlSplitListener } from './trinoSplitListener';
export { TrinoEntityCollector, TrinoSqlSplitListener };
export declare class TrinoSQL extends BasicSQL<TrinoSqlLexer, ProgramContext, TrinoSqlParser> {
    protected createLexerFromCharStream(charStreams: CharStream): TrinoSqlLexer;
    protected createParserFromTokenStream(tokenStream: CommonTokenStream): TrinoSqlParser;
    protected get splitListener(): TrinoSqlSplitListener;
    protected createErrorListener(_errorListener: ErrorListener): TrinoErrorListener;
    protected createEntityCollector(input: string, allTokens?: Token[], caretTokenIndex?: number): TrinoEntityCollector;
    protected preferredRules: Set<number>;
    protected processCandidates(candidates: CandidatesCollection, allTokens: Token[], caretTokenIndex: number, tokenIndexOffset: number): Suggestions<Token>;
}
