import * as react from 'react';
import { UIEventHandlers } from '../types/event.mjs';

declare const uiEvents: readonly ["click", "dblclick", "mousedown", "mouseout", "mouseover", "mouseup"];
type RectangleOptions = {
    /**
     * @type naver.maps.Bounds | naver.maps.BoundsLiteral
     */
    bounds: naver.maps.Bounds | naver.maps.BoundsLiteral;
    strokeWeight?: number;
    strokeOpacity?: number;
    strokeColor?: string;
    strokeStyle?: naver.maps.StrokeStyleType;
    strokeLineCap?: naver.maps.StrokeLineCapType;
    strokeLineJoin?: naver.maps.StrokeLineJoinType;
    fillColor?: string;
    fillOpacity?: number;
    clickable?: boolean;
    visible?: boolean;
    zIndex?: number;
};
type Props = RectangleOptions & {
    onBoundsChanged?: (value: naver.maps.Bounds) => void;
    onClickableChanged?: (value: boolean) => void;
    onVisibleChanged?: (value: boolean) => void;
    onZIndexChanged?: (value: number) => void;
} & UIEventHandlers<typeof uiEvents>;
declare const Rectangle: react.ForwardRefExoticComponent<RectangleOptions & {
    onBoundsChanged?: (value: naver.maps.Bounds) => void;
    onClickableChanged?: (value: boolean) => void;
    onVisibleChanged?: (value: boolean) => void;
    onZIndexChanged?: (value: number) => void;
} & Partial<Record<"onClick" | "onMousedown" | "onMouseup" | "onDblclick" | "onMouseover" | "onMouseout", (e: naver.maps.PointerEvent) => void>> & react.RefAttributes<naver.maps.Rectangle>>;

export { type Props, Rectangle };
