import type { _MKAnnotation } from "./MKAnnotation.js";
import type { CLLocationCoordinate2D } from "../structs/CLLocationCoordinate2D.js";
import type { MKMapRect } from "../structs/MKMapRect.js";
export interface _MKOverlay extends _MKAnnotation {
    /**
     * Implement intersectsMapRect to provide more precise control over when the view for the overlay should be shown. If omitted, MKMapRectIntersectsRect([overlay boundingRect], mapRect) will be used instead.
     */
    intersectsMapRect$?(mapRect: MKMapRect): boolean;
    /**
     * If this method is implemented and returns YES, MKMapView may use it as a hint to skip loading or drawing the built in map content in the area covered by this overlay.
     */
    canReplaceMapContent?(): boolean;
    /** From MKAnnotation, for areas this should return the centroid of the area. */
    coordinate?(): CLLocationCoordinate2D;
    /**
     * boundingMapRect should be the smallest rectangle that completely contains the overlay. For overlays that span the 180th meridian, boundingMapRect should have either a negative MinX or a MaxX that is greater than MKMapSizeWorld.width.
     */
    boundingMapRect?(): MKMapRect;
}
