# @types/leaflet-freehandshapes

> TypeScript definitions for leaflet-freehandshapes

Latest version **0.3.5** (published 2025-09-03) · MIT license · 0 weekly downloads

## Install

```sh
npm install @types/leaflet-freehandshapes
pnpm add @types/leaflet-freehandshapes
yarn add @types/leaflet-freehandshapes
bun add @types/leaflet-freehandshapes
```

## Health

**Score 55/100 (C)** — status: stable.

Positive: has types; no vulnerabilities; high maintenance score; popular repo; extremely popular.

Warnings: low downloads; no esm support; pre 1.0.

Negative: stale.

## Facts

| | |
|---|---|
| Version | 0.3.5 |
| Published | 2025-09-03 |
| First published | 2021-04-23 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 51436 |
| Maintainers | types |

## Links

- npm: https://www.npmjs.com/package/@types/leaflet-freehandshapes
- Repository: https://github.com/DefinitelyTyped/DefinitelyTyped
- Homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/leaflet-freehandshapes
- npm.io page: https://npm.io/package/@types/leaflet-freehandshapes

## Dependencies (2)

- [@types/geojson](https://npm.io/package/@types/geojson.md) *
- [@types/leaflet](https://npm.io/package/@types/leaflet.md) ^1.9

## Recent versions

- 0.3.5 (latest) — 2025-09-03
- 0.3.4 (ts4.5) — 2023-11-07
- 0.3.2 (ts4.3) — 2023-08-30
- 0.3.1 (ts3.6) — 2021-07-08
- 0.3.0 (ts3.5) — 2021-04-23
- 0.3.3 — 2023-10-18

## README

# Installation
> `npm install --save @types/leaflet-freehandshapes`

# Summary
This package contains type definitions for leaflet-freehandshapes (https://github.com/bozdoz/Leaflet.FreeHandShapes).

# Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/leaflet-freehandshapes.
## [index.d.ts](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/leaflet-freehandshapes/index.d.ts)
````ts
import "leaflet";
import * as geojson from "geojson";

declare module "leaflet" {
    interface FreeHandShapesOptions {
        polygon?: PolylineOptions | undefined;
        polyline?: PolylineOptions | undefined;
        simplify_tolerance?: number | undefined;
        merge_polygons?: boolean | undefined;
        concave_polygons?: boolean | undefined;
    }

    class FreeHandShapes extends FeatureGroup {
        constructor(options?: FreeHandShapesOptions);
        initialize(options?: FreeHandShapesOptions): void;
        addLayer(layer: Layer, noevent?: boolean): this;
        getEvents(): { [name: string]: LeafletEventHandlerFn };
        drawStartedEvents(onoff?: "on" | "off"): void;
        zoomMoveStart(): void;
        startDraw(): void;
        stopDraw(): void;
        mouseDown(event: LeafletMouseEvent): void;
        mouseMove(event: LeafletMouseEvent): void;
        mouseUpLeave(): void;
        polygonClick(polygon: Polygon, event?: LeafletEvent): void;
        getPolygon(latlngs: LatLngExpression[] | LatLngExpression[][] | LatLngExpression[][][]): Polygon;
        addPolygon(
            latlngs: LatLngExpression[] | LatLngExpression[][] | LatLngExpression[][][],
            force?: boolean,
            nomerge?: boolean,
            noevent?: boolean,
        ): void;
        subtractPolygon(
            latlngs: LatLngExpression[] | LatLngExpression[][] | LatLngExpression[][][],
            force?: boolean,
        ): void;
        getSimplified(latlngs?: LatLngExpression[] | LatLngExpression[][] | LatLngExpression[][][]): LatLngTuple[];
        merge(latlngs: LatLngExpression[] | LatLngExpression[][] | LatLngExpression[][][]): void;
        subtract(polygon: Polygon): void;
        getLatLngsFromJSON(json: geojson.Feature): any[];
        getCoordsFromLatLngs(latlngs: any[]): any[];
        resetTracer(): void;
        setMapPermissions(method?: "enable" | "disable"): void;
        setMode(type?: "add" | "subtract" | "view" | "delete"): void;
        setMapClass(): void;
    }

    interface Polygon {
        getGroup(): void;
        destroy(): void;
        onClick(event: LeafletEvent): void;
    }
}

````

### Additional Details
 * Last updated: Wed, 03 Sep 2025 08:02:48 GMT
 * Dependencies: [@types/geojson](https://npmjs.com/package/@types/geojson), [@types/leaflet](https://npmjs.com/package/@types/leaflet)

# Credits
These definitions were written by [Cynthia Meng](https://github.com/cynthiameng).

---
_Source: https://npm.io/package/@types/leaflet-freehandshapes · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
