import * as messages from '@cucumber/messages' ; export interface IGherkinLine { readonly lineNumber : number ; readonly isEmpty : boolean ; readonly indent ? : number ; readonly trimmedLineText : string ; getTableCells ( ) : readonly Item [ ] ; startsWith ( prefix ) : boolean ; getRestTrimmed ( length ) : string ; getLineText ( number ) : string ; startsWithTitleKeyword ( keyword ) : boolean ; } export type Item = { column : number ; text : string ; } ; export default interface IToken < TokenType > { location : messages . Location ; line : IGherkinLine ; isEof : boolean ; matchedText ? : string ; matchedType : TokenType ; matchedItems : readonly Item [ ] ; matchedKeyword : string ; matchedIndent : number ; matchedGherkinDialect : string ; getTokenValue ( ) : string ; detach ( ) : void ; }