import * as PP from './polypack';
export interface TickOptions {
    maxLeafCount?: number;
    maxDepth?: number;
    tickStep?: number;
}
export declare const DefaultTickOptions: {
    maxLeafCount: number;
    maxDepth: number;
    tickStep: number;
};
export declare const EARTH_RADIUS = 6371000;
export interface PolyOptions {
    noLatitudeCorrection?: boolean;
}
export declare function polyNormalize(poly: any): PP.PolyPack;
export declare function polyArea(poly: any): number;
export declare function polyPerimeter(poly: any, options?: PolyOptions): number;
export declare class Circle {
    x: number;
    y: number;
    r: number;
    constructor(x: number, y: number, r: number);
}
export declare function polyToCircle(poly: any): Circle | null;
export declare function polyToPolsbyPopperCircle(poly: any, options?: PolyOptions): Circle | null;
export declare function polyFromCircle(c: Circle, nSegments?: number): any;
export declare function polyConvexHull(poly: any): any;
export interface CompactnessDescription {
    value: number;
    reock: number;
    polsby_popper: number;
    convex_hull: number;
    schwartzberg: number;
}
export declare function polyCompactness(poly: any, options?: PolyOptions): CompactnessDescription;
export interface PolyDescription {
    npoly: number;
    nhole: number;
    npoint: number;
}
export declare function polyDescribe(poly: any): PolyDescription;
export declare function npoints(poly: any): number;
