import { AbstractJastVisitor } from '../jast-visitors'; import { Argument, AstNode, CompoundClause, CompoundOperator, Field, FunctionOperand, FunctionString, Jast, KeywordOperand, ListOperand, NotClause, NotClauseOperator, Operator, OrderBy, OrderByDirection, OrderByField, OrderByOperator, Predicate, PredicateOperator, Property, Query, TerminalClause, ValueOperand } from '../types'; import { Doc } from './types'; export declare class AstToDocVisitor extends AbstractJastVisitor { visitArgument(argument: Argument): Doc; /** * Visit each of the provided nodes and form a new array with each `Doc` joined by the provided separator. */ joinNodes(nodes: T[], separator?: Doc): Doc[]; visitCompoundClause(compoundClause: CompoundClause): Doc; visitCompoundOperator(compoundOperator: CompoundOperator): Doc; visitField(field: Field): Doc; visitFunction(functionString: FunctionString): Doc; visitFunctionOperand(functionOperand: FunctionOperand): Doc; visitKeywordOperand(keywordOperand: KeywordOperand): Doc; visitListOperand(listOperand: ListOperand): Doc; visitOperator(operator: Operator): Doc; visitOrderBy(orderBy: OrderBy): Doc; visitOrderByDirection(orderByDirection: OrderByDirection): Doc; visitOrderByField(orderByField: OrderByField): Doc; visitOrderByOperator(orderByOperator: OrderByOperator): Doc; visitPredicate(predicate: Predicate): Doc; visitPredicateOperator(predicateOperator: PredicateOperator): Doc; visitProperty(property: Property): Doc; visitQuery(query: Query): Doc; visitTerminalClause(terminalClause: TerminalClause): Doc; visitValueOperand(valueOperand: ValueOperand): Doc; visitNotClause(notClause: NotClause): Doc; visitNotClauseOperator(notClauseOperator: NotClauseOperator): Doc; visitChildren(): Doc; protected defaultResult(): Doc; } export declare const printAstToDoc: (jast: Jast) => Doc;