import { LocationModifier } from 'mdk-nbt';
import { Location, LocationInterface } from "./Location";
export declare function area(from: Location, to: Location): Area;
export declare class Area {
    /**
     * 通过两点生成一个Area对象
     * @param from 起点坐标
     * @param to 终点坐标
     */
    static fromLocations(from: LocationInterface, to: LocationInterface): Area;
    /**
     * 通过一个点和一个范围生成Area对象
     * @param from 起点坐标
     * @param range 范围
     */
    static fromRange(from: Location, range: number): Area;
    static fromRange(from: Location, range: [number, number, number]): Area;
    static toRangeNbtString(dx: number, dy: number, dz: number): string;
    private from;
    private to;
    constructor(from: Location, to: Location);
    /**
     * 获取起始节点坐标
     */
    getFromLocation(): Location;
    /**
     * 获取结束节点坐标
     */
    getToLocation(): Location;
    /**
     * @param range 范围
     */
    fromRange(range: number): Area;
    fromRange(range: [number, number, number]): Area;
    /**
     * 序列化
     * @param modifier 标识符
     */
    toJson(modifier?: LocationModifier): {
        from: string;
        to: string;
    };
    /**
     * 格式化，如：1 1 1 10 10 10
     * @param modifier 标识符
     */
    toString(modifier?: LocationModifier): string;
    getRange(): [number, number, number];
    /**
     * 计算to和from的差值并格式化，如：dx=1,dy=2,dz=3
     */
    toRangeNbtString(): string;
}
