/**
 * @typedef {Object} RotateEventItem
 * @property {olFeature<import('ol/geom/Geometry').default>} feature
 */
/**
 * @typedef {import('ngeo/CustomEvent').default<RotateEventItem>} RotateEvent
 */
/**
 * Interaction to rotate features.
 *
 * @hidden
 */
export default class _default extends olInteractionPointer {
    /**
     * @param {import('ol/interaction/Modify').Options} options Options.
     * @fires import('ngeo/interaction/ModifyCircleEvent').default
     */
    constructor(options: import("ol/interaction/Modify").Options);
    handleDownEvent: (evt: import("ol/MapBrowserEvent").default<unknown>) => boolean;
    handleDragEvent: (evt: import("ol/MapBrowserEvent").default<unknown>) => void;
    handleUpEvent: (evt: import("ol/MapBrowserEvent").default<unknown>) => boolean;
    /**
     * @type {import('ol/events').EventsKey[]}
     * @private
     */
    private listenerKeys_;
    /**
     * @type {boolean}
     * @private
     */
    private modified_;
    /**
     * @type {?import('ol/events').EventsKey}
     * @private
     */
    private keyPressListenerKey_;
    /**
     * Indicate whether the interaction is currently changing a feature's
     * coordinates.
     *
     * @type {boolean}
     * @private
     */
    private changingFeature_;
    /**
     * @type {number}
     * @private
     */
    private pixelTolerance_;
    /**
     * @type {import('ol/Collection').default<olFeature<import('ol/geom/Geometry').default>>}
     * @private
     */
    private features_;
    /**
     * The feature currently modified.
     *
     * @type {?olFeature<import('ol/geom/Geometry').default>}
     * @private
     */
    private feature_;
    /**
     * @type {?import('ol/pixel').Pixel}
     * @private
     */
    private coordinate_;
    /**
     * @type {?import('ol/coordinate').Coordinate}
     * @private
     */
    private centerCoordinate_;
    /**
     * Draw overlay where sketch features are drawn.
     *
     * @type {import('ol/layer/Vector').default<import('ol/source/Vector').default<import('ol/geom/Geometry').default>>}
     * @private
     */
    private overlay_;
    /**
     * @type {Object<string, olFeature<import('ol/geom/Geometry').default>>}
     * @private
     */
    private centerFeatures_;
    /**
     * @param {olFeature<import('ol/geom/Geometry').default>} feature Feature.
     * @private
     */
    private addFeature_;
    /**
     * @param {import('ol/MapBrowserEvent').default<unknown>} evt MapBrowserEvent
     * @private
     */
    private willModifyFeatures_;
    /**
     * @param {olFeature<import('ol/geom/Geometry').default>} feature Feature.
     * @private
     */
    private removeFeature_;
    /**
     * @param {Event|import('ol/events/Event').default} evt Event.
     * @private
     */
    private handleFeatureAdd_;
    /**
     * @param {Event|import('ol/events/Event').default} evt Event.
     * @private
     */
    private handleFeatureRemove_;
    /**
     * @param {import('ol/MapBrowserEvent').default<unknown>} evt MapBrowserEvent.
     * @returns {boolean} Start drag sequence?
     * @private
     */
    private handleDown_;
    /**
     * @param {import('ol/geom/Geometry').default} geometry Geometry.
     * @returns {import('ol/coordinate').Coordinate} The center coordinate of the geometry.
     * @private
     */
    private getCenterCoordinate_;
    /**
     * @param {import('ol/MapBrowserEvent').default<unknown>} evt MapBrowserEvent.
     * @private
     */
    private handleDrag_;
    /**
     * @param {import('ol/MapBrowserEvent').default<unknown>} evt MapBrowserEvent.
     * @returns {boolean} Stop drag sequence?
     * @private
     */
    private handleUp_;
    /**
     * Deactivate this interaction if the ESC key is pressed.
     *
     * @param {Event|import('ol/events/Event').default} evt Event.
     * @private
     */
    private handleKeyUp_;
}
export type RotateEventItem = {
    feature: olFeature<import("ol/geom/Geometry").default>;
};
export type RotateEvent = import("ngeo/CustomEvent").default<RotateEventItem>;
import olInteractionPointer from 'ol/interaction/Pointer';
import olFeature from 'ol/Feature';
