import type { SQLNode, ExprNode, AggregateNode, BetweenOpNode, NotBetweenOpNode, BinaryOpNode, CaseNode, WhenNode, CastNode, CollateNode, ColumnParamNode, ColumnRefNode, FragmentNode, FromClauseNode, FunctionNode, InOpNode, IntervalNode, JoinNode, ListNode, LiteralNode, LogicalOpNode, OrderByNode, ParamNode, DescribeQuery, SelectQuery, SetOperation, SampleClauseNode, SelectClauseNode, ScalarSubqueryNode, TableRefNode, UnaryOpNode, UnaryPostfixOpNode, UnnestNode, VerbatimNode, WindowNode, WindowClauseNode, WindowDefNode, WindowFunctionNode, WindowFrameNode, WindowFrameExprNode, WithClauseNode } from '../index.js'; /** * Abstract base class for SQL visitors providing common functionality. */ export declare abstract class ToStringVisitor { /** * Convert a SQL AST node to a string using this visitor. * @param node The SQL AST node to convert. * @returns The SQL string representation. */ toString(node: SQLNode): string; protected getVisitMethod(nodeType: string): ((node: AggregateNode) => string) | ((node: BetweenOpNode) => string) | ((node: BinaryOpNode) => string) | ((node: CaseNode) => string) | ((node: CastNode) => string) | ((node: CollateNode) => string) | ((node: ColumnParamNode) => string) | ((node: DescribeQuery) => string); /** * Helper method to convert child nodes to strings. * @param nodes Array of child nodes. * @returns Array of SQL strings. */ protected mapToString(nodes: SQLNode[]): string[]; abstract visitAggregate(node: AggregateNode): string; abstract visitBetween(node: BetweenOpNode): string; abstract visitBinary(node: BinaryOpNode): string; abstract visitCase(node: CaseNode): string; abstract visitCast(node: CastNode): string; abstract visitCollate(node: CollateNode): string; abstract visitColumnParam(node: ColumnParamNode): string; abstract visitColumnRef(node: ColumnRefNode): string; abstract visitDescribeQuery(node: DescribeQuery): string; abstract visitExpression(node: ExprNode): string; abstract visitFragment(node: FragmentNode): string; abstract visitFromClause(node: FromClauseNode): string; abstract visitFunction(node: FunctionNode): string; abstract visitIn(node: InOpNode): string; abstract visitInterval(node: IntervalNode): string; abstract visitJoinClause(node: JoinNode): string; abstract visitList(node: ListNode): string; abstract visitLiteral(node: LiteralNode): string; abstract visitLogicalOperator(node: LogicalOpNode): string; abstract visitNotBetween(node: NotBetweenOpNode): string; abstract visitOrderBy(node: OrderByNode): string; abstract visitParam(node: ParamNode): string; abstract visitSampleClause(node: SampleClauseNode): string; abstract visitScalarSubquery(node: ScalarSubqueryNode): string; abstract visitSelectClause(node: SelectClauseNode): string; abstract visitSelectQuery(node: SelectQuery): string; abstract visitSetOperation(node: SetOperation): string; abstract visitTableRef(node: TableRefNode): string; abstract visitUnary(node: UnaryOpNode): string; abstract visitUnaryPostfix(node: UnaryPostfixOpNode): string; abstract visitUnnest(node: UnnestNode): string; abstract visitVerbatim(node: VerbatimNode): string; abstract visitWhen(node: WhenNode): string; abstract visitWindow(node: WindowNode): string; abstract visitWindowClause(node: WindowClauseNode): string; abstract visitWindowDef(node: WindowDefNode): string; abstract visitWindowExtentExpr(node: WindowFrameExprNode): string; abstract visitWindowFrame(node: WindowFrameNode): string; abstract visitWindowFunction(node: WindowFunctionNode): string; abstract visitWithClause(node: WithClauseNode): string; } //# sourceMappingURL=to-string-visitor.d.ts.map