import * as messages from '@cucumber/messages' ; import IToken from './IToken' ; export interface IAstBuilder < AstNode , TokenType , RuleType > { stack : AstNode [ ] ; comments : messages . Comment [ ] ; newId : messages . IdGenerator . NewId ; reset ( ) : void ; startRule ( ruleType ) : void ; endRule ( ) : void ; build ( token ) : void ; getResult ( ) : any ; currentNode ( ) : any ; getLocation ( token , column ? ) : messages . Location ; getTags ( node ) : readonly messages . Tag [ ] ; getCells ( tableRowToken ) : readonly messages . TableCell [ ] ; getDescription ( node ) : any ; getSteps ( node ) : any [ ] ; getTableRows ( node ) : readonly messages . TableRow [ ] | undefined ; ensureCellCount ( rows ) : void ; transformNode ( node ) : any ; }