///
import { RGBAColor } from '@deck.gl/core';
import { GeoJsonLayer, TextLayer } from '@deck.gl/layers';
import { EditAction, ClickEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, PointerMoveEvent, GeoJsonEditModeType, FeatureCollection } from '@nebula.gl/edit-modes';
import EditableLayer, { EditableLayerProps } from './editable-layer';
export interface EditableGeojsonLayerProps extends EditableLayerProps {
mode?: any;
modeConfig?: any;
selectedFeatureIndexes?: number[];
onEdit?: (updatedData?: any, editType?: string, featureIndexes?: number[], editContext?: any) => void;
pickable?: boolean;
pickingRadius?: number;
pickingDepth?: number;
fp64?: boolean;
filled?: boolean;
stroked?: boolean;
lineWidthScale?: number;
lineWidthMinPixels?: number;
lineWidthMaxPixels?: number;
pickingLineWidthExtraPixels?: number;
lineWidthUnits?: string;
lineJointRounded?: boolean;
lineCapRounded?: boolean;
lineMiterLimit?: number;
pointRadiusScale?: number;
pointRadiusMinPixels?: number;
pointRadiusMaxPixels?: number;
getLineColor?: RGBAColor | ((feature: any, isSelected: any, mode: any) => RGBAColor);
getFillColor?: RGBAColor | ((feature: any, isSelected: any, mode: any) => RGBAColor);
getRadius?: number | ((f: any) => number);
getLineWidth?: number | ((f: any) => number);
getTentativeLineColor?: RGBAColor | ((feature: any, isSelected: any, mode: any) => RGBAColor);
getTentativeFillColor?: RGBAColor | ((feature: any, isSelected: any, mode: any) => RGBAColor);
getTentativeLineWidth?: number | ((f: any) => number);
editHandleType?: string;
editHandlePointRadiusScale?: number;
editHandlePointOutline?: boolean;
editHandlePointStrokeWidth?: number;
editHandlePointRadiusUnits?: string;
editHandlePointRadiusMinPixels?: number;
editHandlePointRadiusMaxPixels?: number;
getEditHandlePointColor?: RGBAColor | ((handle: any) => RGBAColor);
getEditHandlePointOutlineColor?: RGBAColor | ((handle: any) => RGBAColor);
getEditHandlePointRadius?: number | ((handle: any) => number);
editHandleIconAtlas?: any;
editHandleIconMapping?: any;
editHandleIconSizeScale?: number;
editHandleIconSizeUnits?: string;
getEditHandleIcon?: (handle: any) => string;
getEditHandleIconSize?: number;
getEditHandleIconColor?: RGBAColor | ((handle: any) => RGBAColor);
getEditHandleIconAngle?: number | ((handle: any) => number);
billboard?: boolean;
}
export default class EditableGeoJsonLayer extends EditableLayer> {
static layerName: string;
static defaultProps: EditableGeojsonLayerProps;
renderLayers(): any;
initializeState(): void;
shouldUpdateState(opts: any): any;
updateState({ props, oldProps, changeFlags, context, }: {
props: EditableGeojsonLayerProps;
oldProps: EditableGeojsonLayerProps;
changeFlags: any;
context: any;
s: any;
}): void;
getModeProps(props: EditableGeojsonLayerProps): {
modeConfig: any;
data: any;
selectedIndexes: number[];
lastPointerMoveEvent: any;
cursor: any;
onEdit: (editAction: EditAction) => void;
onUpdateCursor: (cursor: string) => void;
};
selectionAwareAccessor(accessor: any): any;
isFeatureSelected(feature: Record): boolean;
getPickingInfo({ info, sourceLayer }: Record): any;
_updateAutoHighlight(info: any): void;
createGuidesLayers(): GeoJsonLayer>[];
createTooltipsLayers(): TextLayer string;
getPosition?: (x: never) => [number, number];
getSize: number | ((x: never) => number);
getColor?: RGBAColor | ((x: never) => RGBAColor);
getAngle?: number | ((x: never) => number);
getTextAnchor?: "start" | "middle" | "end" | ((x: never) => import("@deck.gl/layers/text-layer/text-layer").TextAnchor);
getAlignmentBaseline?: "top" | "center" | "bottom" | ((x: never) => import("@deck.gl/layers/text-layer/text-layer").AlignmentBaseline);
getPixelOffset?: number[] | ((x: never) => number[]);
outlineColor?: RGBAColor;
outlineWidth?: number;
_subLayerProps?: Object;
id?: string;
data?: string | import("@deck.gl/core/lib/layer").DataSet | Promise>;
visible?: boolean;
opacity?: number;
extensions?: any[];
pickable?: boolean;
onHover?: import("@deck.gl/core/lib/layer").LayerInputHandler;
onClick?: import("@deck.gl/core/lib/layer").LayerInputHandler;
onDragStart?: import("@deck.gl/core/lib/layer").LayerInputHandler;
onDrag?: import("@deck.gl/core/lib/layer").LayerInputHandler;
onDragEnd?: import("@deck.gl/core/lib/layer").LayerInputHandler;
highlightColor?: RGBAColor | ((pickInfo: import("@deck.gl/core/lib/deck").PickInfo) => RGBAColor);
highlightedObjectIndex?: number;
autoHighlight?: boolean;
coordinateSystem?: number;
coordinateOrigin?: import("@deck.gl/core").Position;
wrapLongitude?: boolean;
modelMatrix?: number[];
dataComparator?: (newData: never, oldData: never) => boolean;
dataTransform?: () => never[] | Iterable;
_dataDiff?: (newData: never, oldData: never) => {
startRow: number;
endRow: number;
};
positionFormat?: "XYZ" | "XY";
colorFormat?: "RGBA" | "RGB";
numInstances?: number;
updateTriggers?: any;
loaders?: any[];
loadOptions?: any;
onDataLoad?: (value: never[] | Iterable, context: {
layer: import("@deck.gl/core").Layer>;
}) => void;
parameters?: any;
getPolygonOffset?: (uniform: any) => [number, number];
transitions?: {
[attributeGetter: string]: import("@deck.gl/core/lib/layer").TransitionTiming;
};
filterEnabled?: boolean;
filterTransformSize?: boolean;
filterTransformColor?: boolean;
}>[];
onLayerClick(event: ClickEvent): void;
onLayerKeyUp(event: KeyboardEvent): void;
onStartDragging(event: StartDraggingEvent): void;
onDragging(event: DraggingEvent): void;
onStopDragging(event: StopDraggingEvent): void;
onPointerMove(event: PointerMoveEvent): void;
getCursor({ isDragging }: {
isDragging: boolean;
}): any;
getActiveMode(): GeoJsonEditModeType;
}
//# sourceMappingURL=editable-geojson-layer.d.ts.map