import Graph, {Attributes, NodePredicate} from 'graphology-types'; export default class DFSStack< T = string, NodeAttributes extends Attributes = Attributes > { graph: Graph; size: number; seen: Set; private stack: Array; constructor(graph: Graph); forEachNodeYetUnseen(callback: NodePredicate): void; has(node: string): boolean; hasAlreadySeenEverything(): boolean; countUnseenNodes(): number; push(node: string): boolean; pushWith(node: string, item: T): boolean; pop(): T | undefined; }