export declare class Point { x: number; y: number; constructor(x: number, y: number); } export declare class ImageData { data: Uint8ClampedArray; width: number; height: number; constructor(data: Uint8ClampedArray, width: number, height: number); /** * Extracts and returns a subset of an image based on specified coordinates and dimensions. * * @param {number} x - The starting X coordinate from which to extract the subset. * @param {number} y - The starting Y coordinate from which to extract the subset. * @param {number} width - The width of the subset to be extracted. * @param {number} height - The height of the subset to be extracted. * @returns {ImageData} An `ImageData` object representing the extracted subset. */ subset(x: number, y: number, width: number, height: number): ImageData; /** * Erases a rectangular area within the image by setting its pixel values to white (fully opaque). * * @param {number} x - The starting X coordinate of the rectangle to be erased. * @param {number} y - The starting Y coordinate of the rectangle to be erased. * @param {number} width - The width of the rectangle to be erased. * @param {number} height - The height of the rectangle to be erased. * @returns {ImageData} The modified `ImageData` instance with the specified area erased. */ erase(x: number, y: number, width: number, height: number): ImageData; /** * Returns the grayscale value at a specific point in the image using the formula for luminosity. * * @param {number} x - The X coordinate of the point. * @param {number} y - The Y coordinate of the point. * @returns {number} The grayscale value at the given point. */ getGrayScale(x: number, y: number): number; } /** * Generates a random dark color in RGB format. * * This function generates random RGB values and checks their brightness using the luminance formula. * It ensures that the generated color is dark by making sure its brightness is below 128. */ export declare function getRandomDarkColor(): string; /** * Calculates the bounding box for an array of Points. * * Given an array of Points, returns the top-left and bottom-right corners of the smallest rectangle * that can enclose all given points. * * @param {...Point[]} points - An array of Point objects representing the coordinates of interest. * @returns {[Point, Point]} A tuple containing two Point objects; the first one represents the top-left corner, * and the second one represents the bottom-right corner of the bounding box. */ export declare function getBoundingBox(...points: Point[]): [Point, Point];