diff --git a/leaflet-editable/leaflet-editable-tests.ts b/leaflet-editable/leaflet-editable-tests.ts
new file mode 100644
index 0000000000..ebb90cc972
--- /dev/null
+++ b/leaflet-editable/leaflet-editable-tests.ts
@@ -0,0 +1 @@
+///
\ No newline at end of file
diff --git a/leaflet-editable/leaflet-editable.d.ts b/leaflet-editable/leaflet-editable.d.ts
new file mode 100644
index 0000000000..663cd7573c
--- /dev/null
+++ b/leaflet-editable/leaflet-editable.d.ts
@@ -0,0 +1,256 @@
+// Type definitions for Leaflet.Editable 0.7
+// Project: https://github.com/yohanboniface/Leaflet.Editable
+// Definitions by: Dominic Alie
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+///
+
+declare module L {
+ /**
+ * Make geometries editable in Leaflet.
+ *
+ * This is not a plug and play UI, and will not. This is a minimal, lightweight, and fully extendable API to
+ * control editing of geometries. So you can easily build your own UI with your own needs and choices.
+ */
+ export interface EditableStatic {
+ new (map: Map, options: EditOptions): Editable;
+ }
+
+ /**
+ * Options to pass to L.Editable when instanciating.
+ */
+ export interface EditOptions {
+ /**
+ * Class to be used when creating a new Polyline.
+ */
+ polylineClass?: Object;
+
+ /**
+ * Class to be used when creating a new Polygon.
+ */
+ polygonClass?: Object;
+
+ /**
+ * Class to be used when creating a new Marker.
+ */
+ markerClass?: Object;
+
+ /**
+ * CSS class to be added to the map container while drawing.
+ */
+ drawingCSSClass?: string;
+
+ /**
+ * Layer used to store edit tools (vertex, line guide…).
+ */
+ editLayer?: L.LayerGroup;
+
+ /**
+ * Default layer used to store drawn features (marker, polyline…).
+ */
+ featuresLayer?: L.LayerGroup;
+
+ /**
+ * Class to be used as vertex, for path editing.
+ */
+ vertexMarkerClass?: Object;
+
+ /**
+ * Class to be used as middle vertex, pulled by the user to create a new point in the middle of a path.
+ */
+ middleMarkerClass?: Object;
+
+ /**
+ * Class to be used as Polyline editor.
+ */
+ polylineEditorClass?: Object;
+
+ /**
+ * Class to be used as Polygon editor.
+ */
+ polygonEditorClass?: Object;
+
+ /**
+ * Class to be used as Marker editor.
+ */
+ markerEditorClass?: Object;
+
+ /**
+ * Options to be passed to the line guides.
+ */
+ lineGuideOptions?: Object;
+
+ /**
+ * Set this to true if you don't want middle markers.
+ */
+ skipMiddleMarkers?: boolean;
+ }
+
+ /**
+ * Make geometries editable in Leaflet.
+ *
+ * This is not a plug and play UI, and will not. This is a minimal, lightweight, and fully extendable API to
+ * control editing of geometries. So you can easily build your own UI with your own needs and choices.
+ */
+ export interface Editable extends Mixin.LeafletMixinEvents {
+ /**
+ * Options to pass to L.Editable when instanciating.
+ */
+ options: EditOptions;
+
+ currentPolygon: Polyline|Polygon|Marker;
+
+ /**
+ * Start drawing a polyline. If latlng is given, a first point will be added. In any case, continuing on user
+ * click. If options is given, it will be passed to the polyline class constructor.
+ */
+ startPolyline(latLng?: LatLng, options?: L.PolylineOptions): L.Polyline;
+
+ /**
+ * Start drawing a polygon. If latlng is given, a first point will be added. In any case, continuing on user
+ * click. If options is given, it will be passed to the polygon class constructor.
+ */
+ startPolygon(latLng?: LatLng, options?: L.PolylineOptions): L.Polygon;
+
+ /**
+ * Start adding a marker. If latlng is given, the marker will be shown first at this point. In any case, it
+ * will follow the user mouse, and will have a final latlng on next click (or touch). If options is given,
+ * it will be passed to the marker class constructor.
+ */
+ startMarker(latLng?: LatLng, options?: L.MarkerOptions): L.Marker;
+
+ /**
+ * When you need to stop any ongoing drawing, without needing to know which editor is active.
+ */
+ stopDrawing(): void;
+ }
+
+ export var Editable: EditableStatic;
+
+ /**
+ * EditableMixin is included to L.Polyline, L.Polygon and L.Marker. It adds the following methods to them.
+ *
+ * When editing is enabled, the editor is accessible on the instance with the editor property.
+ */
+ export interface EditableMixin {
+ /**
+ * Enable editing, by creating an editor if not existing, and then calling enable on it.
+ */
+ enableEdit(): any;
+
+ /**
+ * Disable editing, also remove the editor property reference.
+ */
+ disableEdit(): void;
+
+ /**
+ * Enable or disable editing, according to current status.
+ */
+ toggleEdit(): void;
+
+ /**
+ * Return true if current instance has an editor attached, and this editor is enabled.
+ */
+ editEnabled(): boolean;
+ }
+
+ export interface Map {
+ /**
+ * Whether to create a L.Editable instance at map init or not.
+ */
+ editable: boolean;
+
+ /**
+ * Options to pass to L.Editable when instanciating.
+ */
+ editOptions: EditOptions;
+
+ /**
+ * L.Editable plugin instance.
+ */
+ editTools: Editable;
+ }
+
+ export interface Polyline extends EditableMixin {
+ }
+
+ export interface MapOptions {
+ /**
+ * Whether to create a L.Editable instance at map init or not.
+ */
+ editable?: boolean;
+
+ /**
+ * Options to pass to L.Editable when instanciating.
+ */
+ editOptions?: EditOptions;
+ }
+
+ /**
+ * When editing a feature (marker, polyline…), an editor is attached to it. This editor basically knows
+ * how to handle the edition.
+ */
+ export interface BaseEditor {
+ /**
+ * Set up the drawing tools for the feature to be editable.
+ */
+ enable(): MarkerEditor|PolylineEditor|PolygonEditor;
+
+ /**
+ * Remove editing tools.
+ */
+ disable(): MarkerEditor|PolylineEditor|PolygonEditor;
+ }
+
+ /**
+ * Inherit from L.Editable.BaseEditor.
+ * Inherited by L.Editable.PolylineEditor and L.Editable.PolygonEditor.
+ */
+ export interface PathEditor extends BaseEditor {
+ /**
+ * Rebuild edit elements (vertex, middlemarker, etc.).
+ */
+ reset(): void;
+ }
+
+ /**
+ * Inherit from L.Editable.PathEditor.
+ */
+ export interface PolylineEditor extends PathEditor {
+ /**
+ * Set up drawing tools to continue the line forward.
+ */
+ continueForward(): void;
+
+ /**
+ * Set up drawing tools to continue the line backward.
+ */
+ continueBackward(): void;
+ }
+
+ /**
+ * Inherit from L.Editable.PathEditor.
+ */
+ export interface PolygonEditor extends PathEditor {
+ /**
+ * Set up drawing tools for creating a new hole on the polygon. If the latlng param is given, a first
+ * point is created.
+ */
+ newHole(latlng: LatLng): void;
+ }
+
+ /**
+ * Inherit from L.Editable.BaseEditor.
+ */
+ export interface MarkerEditor extends BaseEditor {
+ }
+
+ export interface Marker extends EditableMixin, MarkerEditor {
+ }
+
+ export interface Polyline extends EditableMixin, PolylineEditor {
+ }
+
+ export interface Polygon extends EditableMixin, PolygonEditor {
+ }
+}
\ No newline at end of file