///
import * as React from 'react';
import * as PropTypes from 'prop-types';
import { Context } from './util/types';
import { Props as FeatureProps } from './feature';
import { LayerCommonProps, Props as LayerProps } from './layer';
export interface EnhancedLayerProps {
id?: string;
}
export declare type OwnProps = EnhancedLayerProps & LayerCommonProps;
declare function layerMouseTouchEvents(WrappedComponent: React.ComponentClass): {
new (props?: OwnProps | undefined, context?: any): {
context: Context;
hover: number[];
isDragging: boolean;
draggedChildren: JSX.Element[] | undefined;
id: string;
getChildren: () => React.ReactElement[];
areFeaturesDraggable: (children: React.ReactElement[], featureIds?: number[]) => boolean;
onClick: (evt: any) => void;
onMouseEnter: (evt: any) => void;
onMouseLeave: (evt: any) => void;
onMouseDown: () => void;
onTouchStart: (evt: any) => void;
onDragMove: ({lngLat}: any) => void;
onDragUp: (moveEvent: string, evt: any) => void;
componentWillMount(): void;
componentWillUnmount(): void;
render(): JSX.Element;
setState(f: (prevState: {}, props: OwnProps) => Pick<{}, K>, callback?: (() => any) | undefined): void;
setState(state: Pick<{}, K>, callback?: (() => any) | undefined): void;
forceUpdate(callBack?: (() => any) | undefined): void;
props: Readonly<{
children?: React.ReactNode;
}> & Readonly;
state: Readonly<{}>;
refs: {
[key: string]: React.ReactInstance;
};
};
contextTypes: {
map: PropTypes.Requireable;
};
};
export default layerMouseTouchEvents;