/// <reference types="deck.gl" />
import { CompositeLayer } from "@deck.gl/core";
import { ExtendedLayerProps } from "../utils/layerTools";
import { GeoJsonLayer, PathLayer } from "@deck.gl/layers";
import { RGBAColor } from "@deck.gl/core/utils/color";
import { Feature, FeatureCollection, GeoJsonProperties, Geometry } from "geojson";
import { LayerPickInfo } from "../utils/layerTools";
import { UpdateStateInfo } from "@deck.gl/core/lib/layer";
export interface WellsLayerProps<D> extends ExtendedLayerProps<D> {
    pointRadiusScale: number;
    lineWidthScale: number;
    outline: boolean;
    selectedWell: string;
    logData: string | LogCurveDataType;
    logName: string;
    logColor: string;
    logrunName: string;
    logRadius: number;
    logCurves: boolean;
    refine: boolean;
}
export interface LogCurveDataType {
    header: {
        name: string;
        well: string;
    };
    curves: {
        name: string;
        description: string;
    }[];
    data: number[][];
    metadata_discrete: Record<string, {
        attributes: unknown;
        objects: Record<string, [RGBAColor, number]>;
    }>;
}
export interface WellsPickInfo extends LayerPickInfo {
    logName: string;
}
export default class WellsLayer extends CompositeLayer<FeatureCollection, WellsLayerProps<FeatureCollection>> {
    onClick(info: WellsPickInfo): boolean;
    shouldUpdateState({ changeFlags, }: UpdateStateInfo<WellsLayerProps<FeatureCollection<Geometry, GeoJsonProperties>>>): boolean | string | null;
    renderLayers(): (GeoJsonLayer<Feature> | PathLayer<LogCurveDataType>)[];
    getPickingInfo({ info }: {
        info: any;
    }): any;
}
export declare function getLogValues(d: LogCurveDataType, logrun_name: string, log_name: string): number[];
export declare function getLogInfo(d: LogCurveDataType, logrun_name: string, log_name: string): {
    name: string;
    description: string;
} | undefined;
