import * as lsp from 'vscode-languageserver';
import { TextDocument } from 'vscode-languageserver-textdocument';
import { CatalogNameContext, ColumnNameContext, DatabaseNameContext, FunctionNameContext, StringContext, TableNameContext, ViewNameContext } from '../lib/FlinkSQLParser';
import { FlinkSQLParserListener } from '../lib/FlinkSQLParserListener';
export interface BaseToken {
    name: string;
    range: lsp.Range;
}
export interface StringToken extends BaseToken {
    type: 'string';
}
export interface SemanticToken extends BaseToken {
    type: 'function' | 'column' | 'table' | 'database' | 'catalog' | 'view';
}
export declare class TokensCollectorListener implements FlinkSQLParserListener {
    private document;
    private semanticTokens;
    private stringTokens;
    constructor(document: TextDocument);
    getSemanticTokens(): SemanticToken[];
    getStringTokens(): StringToken[];
    enterString(ctx: StringContext): void;
    enterCatalogName(ctx: CatalogNameContext): void;
    enterDatabaseName(ctx: DatabaseNameContext): void;
    enterTableName(ctx: TableNameContext): void;
    enterColumnName(ctx: ColumnNameContext): void;
    enterFunctionName(ctx: FunctionNameContext): void;
    enterViewName(ctx: ViewNameContext): void;
}
