import { LayoutDimension } from "./Layout"; import { Hex, HexCoordinates } from "./models/Hex"; import { Point } from "./models/Point"; export declare class HexUtils { static DIRECTIONS: Hex[]; /** Checks if coordinates are the same.*/ static equals(a: HexCoordinates, b: HexCoordinates): boolean; /** Returns a new Hex with the addition of q,r,s values from A and B respectively */ static add(a: HexCoordinates, b: HexCoordinates): Hex; /** Returns a new Hex with the subtraction of q,r,s values from A and B respectively */ static subtract(a: HexCoordinates, b: HexCoordinates): Hex; /** Returns a new Hex with the multiplication of q,r,s values by k */ static multiply(a: HexCoordinates, k: number): Hex; /** Returns length from origin point 0,0 */ static lengths(hex: Hex): number; /** Returns the distance between two hex coordinates */ static distance(a: HexCoordinates, b: HexCoordinates): number; /** Returns a new Hex in the "direction", which has modulus six, "% 6", applied to it, * and thus computes to a number between 0 through 5. */ static direction(direction: number): Hex; /** Returns the addition of the current Hex and a new Hex in the * specified "direction". Direction has modulus six, "% 6", applied to it, * and thus computes to a number between 0 through 5. */ static neighbor(hex: Hex, direction: number): Hex; /** Returns an array of all the direct neighbors of a Hex within one Hex away */ static neighbors(hex: Hex): Hex[]; /** I'm not sure what this does */ static round(hex: Hex): Hex; /** Given the q,r,s of a hexagon return the x and y pixel coordinates of the * hexagon center. */ static hexToPixel(hex: Hex, layout: LayoutDimension): Point; /** Return the q,r,s coordinate of the hexagon given pixel point x and y. */ static pixelToHex(point: Point, layout: LayoutDimension): Hex; /** Apply Linear Interpolation between two known points * See: * https://en.wikipedia.org/wiki/Linear_interpolation */ static lerp(a: number, b: number, t: number): number; /** Apply Linear Interpolation between two known Hexes * See: * https://en.wikipedia.org/wiki/Linear_interpolation */ static hexLerp(a: HexCoordinates, b: HexCoordinates, t: number): Hex; /** Return a string ID from Hex Coordinates. * Example: Hex Coordinates of {q: 1, r: 2, s: 3} is returned * as string "1,2,3" */ static getID(hex: HexCoordinates): string; } export default HexUtils; //# sourceMappingURL=HexUtils.d.ts.map