import React from 'react'; import { BboxPoint, BboxPoints } from './types'; interface BoundingBoxProps { availableArea?: Array>; children: React.ReactNode; onBboxChange?: (bboxCoordinates: BboxPoints | BboxPoint | null, bboxArea: number | null) => void; minBorderRange?: number; minBboxArea?: number; maxBboxArea?: number; followMapScreen?: boolean; buttonsStyles?: object; bboxPoints?: BboxPoints; disabled?: boolean; availableAreaConfig?: object; bboxConfig?: object; CustomButtonsComponent?: React.ReactElement<{ handleEditToggle?: () => void; clearPoints?: () => void; isActive?: boolean; activePoints?: BboxPoints | BboxPoint | []; }> | undefined; } /** * Controllable bounding box component. * * @typedef {Object} BoundingBoxProps * @property {Array>} availableArea - Can be specified by coordinates (BL, TL, TR, BR) or by meters (width, height) in center of the screen. * @property {React.ReactNode} children - Map component. * @property {(bboxCoordinates: Array> | null, bboxArea: number) => void} onBboxChange - Callback when bbox coordinates change. * @property {number} minBorderRange - Minimum border range for the bounding box (degrees). * @property {number} minBboxArea - Minimum area for the bounding box (km2). * @property {number} maxBboxArea - Maximum area for the bounding box (km2). * @property {boolean} followMapScreen - Whether the layers move with the map. * @property {Object} buttonsStyles - Styles of the control buttons. * @property {Array>} bboxPoints - Initial points of the bounding box. * @property {boolean} disabled - Whether the bounding box is disabled. * @property {Object} availableAreaConfig - Configuration for the available area layer. * @property {Object} bboxConfig - Configuration for the bounding box layer. * @property {React.ReactElement} CustomButtonsComponent - Custom buttons component. * @returns {JSX.Element} The rendered BoundingBox component. */ export declare const BoundingBox: React.FC; export {};