import { CompositeLayer, CompositeLayerProps, DefaultProps, GetPickingInfoParams, Layer, LayersList } from '@deck.gl/core';
import type { ScatterplotLayerProps } from '@deck.gl/layers';
import * as arrow from 'apache-arrow';
import * as ga from '@geoarrow/geoarrow-js';
import { GeoArrowExtraPickingProps } from '../utils/picking';
import { ColorAccessor, FloatAccessor, GeoArrowPickingInfo } from '../types';
/** All properties supported by GeoArrowScatterplotLayer */
export type GeoArrowScatterplotLayerProps = Omit<ScatterplotLayerProps<arrow.Table>, 'data' | 'getPosition' | 'getRadius' | 'getFillColor' | 'getLineColor'> & _GeoArrowScatterplotLayerProps & CompositeLayerProps;
/** Properties added by GeoArrowScatterplotLayer */
type _GeoArrowScatterplotLayerProps = {
    data: arrow.Table;
    /**
     * If `true`, validate the arrays provided (e.g. chunk lengths)
     * @default true
     */
    _validate?: boolean;
    /**
     * Center position accessor.
     * If not provided, will be inferred by finding a column with extension type
     * `"geoarrow.point"` or `"geoarrow.multipoint"`.
     */
    getPosition?: ga.vector.PointVector | ga.vector.MultiPointVector;
    /**
     * Radius accessor.
     * @default 1
     */
    getRadius?: FloatAccessor;
    /**
     * Fill color accessor.
     * @default [0, 0, 0, 255]
     */
    getFillColor?: ColorAccessor;
    /**
     * Stroke color accessor.
     * @default [0, 0, 0, 255]
     */
    getLineColor?: ColorAccessor;
    /**
     * Stroke width accessor.
     * @default 1
     */
    getLineWidth?: FloatAccessor;
};
export declare class GeoArrowScatterplotLayer<ExtraProps extends object = object> extends CompositeLayer<GeoArrowScatterplotLayerProps & ExtraProps> {
    static defaultProps: DefaultProps<GeoArrowScatterplotLayerProps>;
    static layerName: string;
    getPickingInfo(params: GetPickingInfoParams & {
        sourceLayer: {
            props: GeoArrowExtraPickingProps;
        };
    }): GeoArrowPickingInfo;
    renderLayers(): Layer<object> | LayersList | null;
    _renderLayersPoint(geometryColumn: ga.vector.PointVector): Layer<object> | LayersList | null;
    _renderLayersMultiPoint(geometryColumn: ga.vector.MultiPointVector): Layer<object> | LayersList | null;
}
export {};
