import { BinaryTreeNode } from '../data-structures'; import { BinaryTreeNodeNested, BiTreeDeleteResult, BTNCallback, BTNKey } from '../types'; export interface IBinaryTree = BinaryTreeNodeNested> { createNode(key: BTNKey, value?: N['value']): N; add(keyOrNode: BTNKey | N | null, value?: N['value']): N | null | undefined; delete>(identifier: ReturnType | null, callback: C): BiTreeDeleteResult[]; }