export type CP = 1 | -1 | 0; export type IterationType = 'ITERATIVE' | 'RECURSIVE'; export type FamilyPosition = 'ROOT' | 'LEFT' | 'RIGHT' | 'ROOT_LEFT' | 'ROOT_RIGHT' | 'ISOLATED' | 'MAL_NODE'; export type Comparator = (a: K, b: K) => number; export type DFSOrderPattern = 'PRE' | 'IN' | 'POST'; export type NodeDisplayLayout = [string[], number, number, number]; export interface IterableWithSize extends Iterable { size: number | ((...args: unknown[]) => number); } export interface IterableWithLength extends Iterable { length: number | ((...args: unknown[]) => number); } export type OptValue = V | undefined; export type IterableWithSizeOrLength = IterableWithSize | IterableWithLength; export type CRUD = 'CREATED' | 'READ' | 'UPDATED' | 'DELETED';