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