import * as React from 'react'; import { Props as FeatureProps } from './feature'; import { LayerCommonProps, Props as LayerProps } from './layer'; import { Map } from 'mapbox-gl'; export interface EnhancedLayerProps { id?: string; map: Map; } export declare type OwnProps = EnhancedLayerProps & LayerCommonProps; export declare function layerMouseTouchEvents(WrappedComponent: React.ComponentClass): { new (props: Readonly): { hover: number[]; draggedChildren: React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)>[] | undefined; id: string; getChildren: () => React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)>[]; getChildFromId: (children: React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)>[], id: number) => React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)>; areFeaturesDraggable: (children: React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)>[], featureIds?: number[]) => boolean; onClick: (evt: any) => void; onMouseEnter: (evt: any) => void; onMouseLeave: (evt: any) => void; onMouseDown: () => void; onTouchStart: (evt: any) => void; onFeatureDown: (startEvent: string) => void; onFeatureDragStart: (evt: any) => void; onFeatureDrag: (evt: any) => void; onFeatureDragEnd: (evt: any) => void; componentDidMount(): void; componentWillUnmount(): void; render(): JSX.Element; context: any; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly & Readonly<{ children?: React.ReactNode; }>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; }; new (props: OwnProps, context?: any): { hover: number[]; draggedChildren: React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)>[] | undefined; id: string; getChildren: () => React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)>[]; getChildFromId: (children: React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)>[], id: number) => React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)>; areFeaturesDraggable: (children: React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)>[], featureIds?: number[]) => boolean; onClick: (evt: any) => void; onMouseEnter: (evt: any) => void; onMouseLeave: (evt: any) => void; onMouseDown: () => void; onTouchStart: (evt: any) => void; onFeatureDown: (startEvent: string) => void; onFeatureDragStart: (evt: any) => void; onFeatureDrag: (evt: any) => void; onFeatureDragEnd: (evt: any) => void; componentDidMount(): void; componentWillUnmount(): void; render(): JSX.Element; context: any; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly & Readonly<{ children?: React.ReactNode; }>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; }; contextType?: React.Context | undefined; }; export default layerMouseTouchEvents;