import { Type } from "./type";
/**
 * An enum representing the available collision modes of callout layers.
 */
export declare enum CalloutCollisionMode {
    /**
     * Automatically decide the collision strategy.
     */
    Auto = 0,
    /**
     * Use a simulated annealing based collision strategy. This is higher quality, but takes longer, and is performed time-sliced in the background until an acceptable quality is reached.
     */
    SimulatedAnnealing = 1,
    /**
     * Use a greedy algorithm to avoid collisions. This is cheap and predictable, but of comparatively low quality.
     */
    Greedy = 2,
    /**
     * Use a greedy algorithm with localized center of mass hints to avoid collisions. This is relatively cheap to perform, compared to the simulated annealing approach, but is of comparatively lower quality.
     */
    GreedyCenterOfMass = 3,
    /**
     * If slice anchors are present, either fit the labels inside the slices or outside, depending on collisions.
     */
    RadialBestFit = 4,
    /**
     * If slice anchors are present, either fit the labels inside the slices or outside, depending on collisions.
     */
    RadialInsideEnd = 5,
    /**
     * If slice anchors are present, either fit the labels inside the slices or outside, depending on collisions.
     */
    RadialOutsideEnd = 6,
    /**
     * If slice anchors are present, fit the labels inside the slices.
     */
    RadialCenter = 7
}
/**
 * @hidden
 */
export declare let CalloutCollisionMode_$type: Type;
