import { GeoJsonLayer, GeoJsonLayerProps } from '@deck.gl/layers';
import { CompositeLayer } from '@deck.gl/core';
import { CompositeLayerProps } from '@deck.gl/core/lib/composite-layer';
import { RGBAColor } from '@deck.gl/core/utils/color';
import { UpdateStateInfo } from '@deck.gl/core/lib/layer';
import TextmapLayer from '../textmap-layer/textmap-layer';
export declare type LabeledGeoJsonLayerProps<D> = GeoJsonLayerProps<D> & CompositeLayerProps<D> & Partial<{
    getLabel: (x: D) => string;
    getLabelSize: number;
    getLabelColor: ((x: D) => RGBAColor) | RGBAColor;
    billboard: boolean;
    labelSizeUnits: 'meters' | 'pixels';
    background: boolean;
    getLabelBackground: ((x: D) => RGBAColor) | RGBAColor;
    fontFamily: string;
    characterSet: string | string[] | Set<string>;
}>;
declare class LabeledGeoJsonLayer<D, P extends LabeledGeoJsonLayerProps<D> = LabeledGeoJsonLayerProps<D>> extends CompositeLayer<D, P> {
    updateState({ changeFlags }: UpdateStateInfo<P>): void;
    setCharacterSet(f: D, characterSet: Set<string>): any;
    renderLayers(): (GeoJsonLayer<unknown, any> | TextmapLayer<unknown, {
        data: any;
        characterSet: any;
        sizeUnits: "meters" | "pixels" | undefined;
        background: boolean | undefined;
        fontFamily: string | undefined;
        billboard: boolean | undefined;
        getPosition?: undefined;
        getText?: undefined;
        getSize?: undefined;
        getColor?: undefined;
        getBackgroundColor?: undefined;
    } | {
        getPosition: (d: any) => any;
        getText: any;
        getSize: any;
        getColor: any;
        getBackgroundColor: any;
        data?: undefined;
        characterSet?: undefined;
        sizeUnits?: undefined;
        background?: undefined;
        fontFamily?: undefined;
        billboard?: undefined;
    }>)[];
}
export default LabeledGeoJsonLayer;
