export declare abstract class UnionFind { protected roots: number[]; protected count: number; /** * Creates UnionFind class with given size * @param {number} size size of the set, default size is 16 */ constructor(size?: number); /** * Validates that p is a valid index * @param {number} p * @returns {void} */ protected validate(p: number): void; /** * Returns root of given node * @param {number} x arbitrary node * @returns {number} root of give node */ abstract find(x: number): number; /** * Connects nodes x and y with quick find strategy * @param {number} x node x * @param {number} y node y * @returns {void} */ abstract uion(x: number, y: number): void; /** * Returns true if given nodes are connected * @param {number} x node x * @param {number} y node y * @returns {boolean} whether the given nodes are connected */ isConnected(x: number, y: number): boolean; /** * Returns number of connected components * @returns {number} number of connected components */ getCount(): number; }