import { Base, Point, Type } from "./type";
import { List$1 } from "./List$1";
import { LabelCollisionPlacementPositions } from "./LabelCollisionPlacementPositions";
import { LabelCollisionManagerCollisionMode } from "./LabelCollisionManagerCollisionMode";
import { IExecutionContext } from "./IExecutionContext";
import { Rect } from "./Rect";
import { LabelCollisionInfo } from "./LabelCollisionInfo";
import { QuadTreeBoundingBox } from "./QuadTreeBoundingBox";
/**
 * @hidden
 */
export declare class LabelCollisionManager extends Base {
    static $t: Type;
    private l;
    private a;
    constructor(a: number, b: number, c: Rect, d: IExecutionContext, e: number, f: LabelCollisionManagerCollisionMode, g: LabelCollisionPlacementPositions[], h: number, i: number, j: boolean, k: LabelCollisionPlacementPositions[]);
    i(a: LabelCollisionInfo, b: LabelCollisionPlacementPositions, c: number, d: number, e: boolean): QuadTreeBoundingBox;
    private s;
    y: List$1<LabelCollisionPlacementPositions>;
    labelsMoved: (movedLabels: List$1<LabelCollisionInfo>) => void;
    j: () => void;
    private h;
    g: LabelCollisionManagerCollisionMode;
    private e;
    x: List$1<LabelCollisionPlacementPositions>;
    ad: number;
    ak: number;
    aj: number;
    a5: Rect;
    ae: number;
    ac: number;
    private ax;
    private aw;
    a1(a: QuadTreeBoundingBox): void;
    private v;
    private ag;
    aq(a: LabelCollisionInfo): void;
    a2(a: LabelCollisionInfo): void;
    az(a: LabelCollisionInfo): void;
    ay(a: LabelCollisionInfo): void;
    a4(): void;
    private w;
    private n;
    private m;
    as(): void;
    ar(): void;
    private av;
    private at;
    private static ao;
    private ai;
    private af;
    private z;
    private aa;
    private au;
    private ah;
    private o;
    private k;
    private b;
    private ab;
    private p;
    get al(): number;
    ap: string;
    an: any;
    a3(a: number, b: number, c: Rect): void;
    u(): boolean;
    q(): boolean;
    am(): number;
    private a0;
    t(a: LabelCollisionInfo, b: boolean): boolean;
    private r;
    private c;
    f(a: Point, b: boolean): LabelCollisionInfo;
}
