import { ExplainStatement } from "../models/DDLStatements";
import { Lexeme } from "../models/Lexeme";
import { SqlComponent } from "../models/SqlComponent";
type NestedStatementParser = (lexemes: Lexeme[], index: number) => {
    value: SqlComponent;
    newIndex: number;
};
/**
 * Parses EXPLAIN statements including legacy shorthand flags and option lists.
 */
export declare class ExplainStatementParser {
    static parse(sql: string, parseNested: NestedStatementParser): ExplainStatement;
    static parseFromLexeme(lexemes: Lexeme[], index: number, parseNested: NestedStatementParser): {
        value: ExplainStatement;
        newIndex: number;
    };
    private static parseOptionList;
    private static isLegacyFlag;
    private static canStartOptionName;
    private static extractAfterComments;
    private static attachTrailingCommentsToNextLexeme;
}
export {};
