import Graph, {Attributes, NodePredicate} from 'graphology-types'; import FixedDeque from 'mnemonist/fixed-deque'; export default class BFSQueue< T = string, NodeAttributes extends Attributes = Attributes > { graph: Graph; size: number; seen: Set; private queue: FixedDeque; 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; shift(): T | undefined; }