import { Viewport, Pick, EditHandleFeature, EditHandleType, StartDraggingEvent } from "./types.js"; import { SimpleGeometry, Position, Point, LineString, Polygon, Feature, SimpleGeometryCoordinates } from "../utils/geojson-types.js"; export type NearestPointType = Feature; export declare function toDeckColor(color?: [number, number, number, number] | number, defaultColor?: [number, number, number, number]): [number, number, number, number]; export declare function recursivelyTraverseNestedArrays(array: Array, prefix: Array, fn: (array: Array, prefix: number[]) => void): boolean; export declare function generatePointsParallelToLinePoints(p1: Position, p2: Position, coords: Position): Position[]; export declare function distance2d(x1: number, y1: number, x2: number, y2: number): number; export declare function mix(a: number, b: number, ratio: number): number; export declare function nearestPointOnProjectedLine(line: Feature, inPoint: Feature, viewport: Viewport): NearestPointType; export declare function nearestPointOnLine(// ( lines: Feature, inPoint: Feature, viewport?: Viewport): NearestPointType; export declare function getPickedEditHandle(picks: Pick[] | null | undefined): EditHandleFeature | null | undefined; export declare function getPickedSnapSourceEditHandle(picks: Pick[] | null | undefined): EditHandleFeature | null | undefined; export declare function getNonGuidePicks(picks: Pick[]): Pick[]; export declare function getPickedExistingEditHandle(picks: Pick[] | null | undefined): EditHandleFeature | null | undefined; export declare function getPickedIntermediateEditHandle(picks: Pick[] | null | undefined): EditHandleFeature | null | undefined; export declare function getPickedEditHandles(picks: Pick[] | null | undefined): EditHandleFeature[]; export declare function getEditHandlesForGeometry(geometry: SimpleGeometry, featureIndex: number, editHandleType?: EditHandleType): EditHandleFeature[]; /** * Calculates coordinates for a feature preserving rectangular shape. * @param feature Feature before modification. * @param editHandleIndex Index of the point to modify. * @param coords New position for the point. * @returns Updated coordinates. */ export declare function updateRectanglePosition(feature: Feature, editHandleIndex: number, coords: Position): Position[][] | null; /** Creates a copy of feature's coordinates. * Each position in coordinates is transformed by calling the provided function. * @param coords Coordinates of a feature. * @param callback A function to transform each coordinate. * @retuns Transformed coordinates. */ export declare function mapCoords(coords: SimpleGeometryCoordinates, callback: (coords: Position) => Position): SimpleGeometryCoordinates; export declare function shouldCancelPan(event: StartDraggingEvent): Pick; //# sourceMappingURL=utils.d.ts.map