export type Evaluator = { querySelector ( selector , root ) : HTMLElement ; querySelectorAll ( selector , root ) : HTMLElement [ ] ; } ; export type Action = "click" | "fill" | "goBack" | "goForward" | "goto" | "keyboard.press" | "press" | "reload" | "selectOption" ; export type Callback < S = void , T = void > = ( data ? : S ) => T ; export type CueType = "attribute" | "class" | "id" | "modifier" | "tag" | "text" ; export type Cue = { level : number ; penalty : number ; type : CueType ; value : string ; } ; export type CueSet = { cues : Cue [ ] ; penalty : number ; valueLength : number ; } ; export interface ElementAction { action : Action ; selector : string ; time : number ; value ? : string ; } export interface ElementChosen { isFillable : boolean ; selectors : string [ ] ; text : string ; } export type EventDescriptor = { isTrusted : boolean ; selector ? : string ; target : HTMLElement ; time : number ; type : string ; value ? : string ; } ; export interface LogEvent { level : string ; message : string ; } export type RankedSelector = { penalty : number ; selector : string ; } ; export type Rect = { height : number ; width : number ; x : number ; y : number ; } ; export type Target = { element : HTMLElement ; level : number ; } ;