///
import type { Layer } from '@deck.gl/core';
import { Datasource, QueryFormData, JsonObject, HandlerFunction } from '@superset-ui/core';
import { Viewport } from './utils/fitViewport';
import { Point } from './types';
import { TooltipProps } from './components/Tooltip';
type deckGLComponentProps = {
datasource: Datasource;
formData: QueryFormData;
height: number;
onAddFilter: HandlerFunction;
payload: JsonObject;
setControlValue: () => void;
viewport: Viewport;
width: number;
};
export interface getLayerType {
(formData: QueryFormData, payload: JsonObject, onAddFilter: HandlerFunction | undefined, setTooltip: (tooltip: TooltipProps['tooltip']) => void, datasource?: Datasource): T;
}
interface getPointsType {
(data: JsonObject[]): Point[];
}
export declare function createDeckGLComponent(getLayer: getLayerType, getPoints: getPointsType): import("react").MemoExoticComponent<(props: deckGLComponentProps) => import("react").JSX.Element>;
export declare function createCategoricalDeckGLComponent(getLayer: getLayerType, getPoints: getPointsType): (props: deckGLComponentProps) => import("react").JSX.Element;
export {};
//# sourceMappingURL=factory.d.ts.map