import { BoxedHexagon, HexagonType } from "./BoxedHexagon";
import { Point } from "./Point";
import { Rect } from "./Rect";
export type HexagonGridConfig = {
    centerHexagon: BoxedHexagon;
    hexagonType: HexagonType;
    maxRingCount: number;
};
export type HexagonAxialCoordinate = {
    ringRowIndex: number;
    ringColumnIndex: number;
};
export declare class HexagonGrid {
    centerHexagon: BoxedHexagon;
    hexagonType: HexagonType;
    maxRingCount: number;
    constructor(args: HexagonGridConfig);
    convertAxialCoordinatesToCartesian(args: {
        hexagonCoords: HexagonAxialCoordinate;
        hexagonType: HexagonType;
    }): Point;
    static computeHexagonsForFlowerArrangment(args: {
        circumRadius: number;
        centerPoint: Point;
        extraPositionOffset?: number;
        startEdgeOffset?: number;
    }): {
        centerHexagon: BoxedHexagon;
        outerHexagonRing: Array<BoxedHexagon>;
        boundingBox: Rect;
    };
    static computeHexagonsForTriangleArrangement(args: {
        circumRadius: number;
        centerPoint: Point;
        extraPositionOffset?: number;
        startEdgeOffset?: number;
    }): {
        hexagons: Array<BoxedHexagon>;
        boundingBox: Rect;
    };
    static computeHexagonsForTriangleAndFlowerArrangement(args: {
        hexagonCount: number;
        circumRadius: number;
        centerPoint: Point;
        extraPositionOffset?: number;
    }): {
        hexagons: Array<BoxedHexagon>;
        boundingBox: Rect;
    };
}
//# sourceMappingURL=HexagonGrid.d.ts.map