import { Prefecture, Municipality } from '../types';
export interface GridDeformerOptions {
    gridSize: number;
    preserveTopology: boolean;
}
export declare class GridDeformer {
    protected gridSize: number;
    protected preserveTopology: boolean;
    constructor(options?: GridDeformerOptions);
    protected snapToGrid(coord: number[]): number[];
    protected calculatePolygonArea(polygon: number[][]): number;
    protected calculatePolygonCenter(polygon: number[][]): number[];
    protected deformPolygon(polygon: number[][]): number[][];
    deformGeometry(geometry: any): any;
    deformPrefecture(prefecture: Prefecture): Prefecture;
    deformMunicipality(municipality: Municipality): Municipality;
    setGridSize(size: number): void;
    adjustForRegion(prefectureCode: string): void;
}
export declare class HexagonalGridDeformer extends GridDeformer {
    private snapToHexGrid;
    protected deformPolygon(polygon: number[][]): number[][];
}
