import { Feature, FeatureCollection, GeometryObject } from 'geojson'; export declare type Flow = any; export declare type LocationProperties = any; export declare type Location = Feature | any; export declare type Locations = FeatureCollection | Location[]; export declare function isFeatureCollection(locations: Locations): locations is FeatureCollection; export interface ViewState { latitude: number; longitude: number; zoom: number; bearing?: number; pitch?: number; altitude?: number; } export declare const enum LocationCircleType { INNER = "inner", OUTER = "outer", OUTLINE = "outline" } export interface LocationCircle { location: Location; type: LocationCircleType; } export interface FlowAccessors { getFlowOriginId: FlowAccessor; getFlowDestId: FlowAccessor; getFlowMagnitude: FlowAccessor; getFlowColor?: FlowAccessor; getAnimatedFlowLineStaggering?: FlowAccessor; } export interface LocationAccessors { getLocationId: LocationAccessor; getLocationCentroid: LocationAccessor<[number, number]>; getLocationTotalIn?: LocationAccessor; getLocationTotalOut?: LocationAccessor; getLocationTotalWithin?: LocationAccessor; } export declare type Data = Flow | Location | LocationCircle; export declare enum PickingType { LOCATION = "location", FLOW = "flow", LOCATION_AREA = "location-area" } export declare type DeckGLLayer = any; export interface PickingInfo { layer: DeckGLLayer; index: number; object: T; x: number; y: number; lngLat: [number, number]; } export declare type PickingHandler = (info: T, event: { srcEvent: MouseEvent; }) => void; export interface LocationPickingInfo extends PickingInfo { type: PickingType.LOCATION; object: Location; totalIn: number; totalOut: number; totalWithin: number; circleRadius: number; } export interface LocationAreaPickingInfo extends PickingInfo { type: PickingType.LOCATION_AREA; object: Location; } export interface FlowPickingInfo extends PickingInfo { type: PickingType.FLOW; object: Flow; origin: Location; dest: Location; } export declare type FlowLayerPickingInfo = LocationPickingInfo | LocationAreaPickingInfo | FlowPickingInfo; export interface AccessorObjectInfo { index: number; data: any; target: any[]; } export declare type FlowAccessor = (flow: Flow, objectInfo?: AccessorObjectInfo) => T; export declare type LocationAccessor = (location: Location) => T; export declare type LocationCircleAccessor = (locCircle: LocationCircle) => T; export declare type NumberScale = (value: number) => number; //# sourceMappingURL=types.d.ts.map