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