import { types as t } from '@babel/core'; import ScopeManager from './scope'; import DepsGraph from './DepsGraph'; export default abstract class GraphBuilderState { readonly scope: ScopeManager; readonly graph: DepsGraph; readonly meta: Map; readonly context: Array<'expression' | 'pattern' | 'lval'>; readonly fnStack: t.Node[]; abstract baseVisit(node: TNode, ignoreDeps?: boolean): void; abstract visit(node: TNode, parent: TParent | null, parentKey: t.VisitorKeys[TParent['type']] | null, listIdx?: number | null): void; }