import { Diagnostic } from 'vscode-languageserver-types';
import { TextDocument } from 'vscode-languageserver-textdocument';
import { DbSchema } from '../dbSchema.js';
import { ParsingResult } from '../cypherLanguageService.js';
import { SymbolTable } from '../types.js';
export type SyntaxDiagnostic = Diagnostic & {
    offsets: {
        start: number;
        end: number;
    };
};
type GenericDiagnostic = {
    message: string;
};
export declare function isNotParamError<T extends GenericDiagnostic>(diagnostic: T): boolean;
export declare function clampUnsafePositions(diagnostics: SyntaxDiagnostic[], document: TextDocument): SyntaxDiagnostic[];
export declare function sortByPositionAndMessage(a: SyntaxDiagnostic, b: SyntaxDiagnostic): number;
export declare function lintCypherQuery(query: string, dbSchema: DbSchema, { consoleCommandsEnabled, parsingResult, }?: {
    consoleCommandsEnabled?: boolean;
    parsingResult?: ParsingResult;
}): {
    diagnostics: SyntaxDiagnostic[];
    symbolTables: SymbolTable[];
};
export declare const paramMsgStart = "Parameter ";
export {};
