import { GeographicTilingScheme } from "./GeographicTilingScheme";
export declare enum QuadtreeTileLoadState {
    /**
     * The tile is new and loading has not yet begun.
     */
    START = 0,
    /**
     * Loading is in progress.
     */
    LOADING = 1,
    /**
     * Loading is complete.
     */
    DONE = 2,
    /**
     * The tile has failed to load.
     */
    FAILED = 3
}
export interface IQuadtreeTileOptions {
    tilingScheme: GeographicTilingScheme;
    x: number;
    y: number;
    level: number;
    parent?: QuadtreeTile;
}
export declare class QuadtreeTile {
    private _tilingScheme;
    private _x;
    private _y;
    private _level;
    private _parent;
    private _rectangle;
    private _southwestChild;
    private _southeastChild;
    private _northwestChild;
    private _northeastChild;
    replacementPrevious: any;
    replacementNext: any;
    state: QuadtreeTileLoadState;
    constructor(options: IQuadtreeTileOptions);
    get northwestChild(): QuadtreeTile;
    get southwestChild(): QuadtreeTile;
    get southeastChild(): QuadtreeTile;
    get northeastChild(): QuadtreeTile;
    get children(): QuadtreeTile[];
    static createLevelZeroTiles(tilingScheme: GeographicTilingScheme): QuadtreeTile[];
}
