import type { Color, PickingInfo, UpdateParameters } from "@deck.gl/core";
import { Layer } from "@deck.gl/core";
import type { Device } from "@luma.gl/core";
import { Model } from "@luma.gl/engine";
import type { ExtendedLayerProps, LayerPickInfo } from "../utils/layerTools";
type PieProperties = [{
    color: Color;
    label: string;
}];
type PieData = {
    x: number;
    y: number;
    R: number;
    fractions: [{
        value: number;
        idx: number;
    }];
};
interface PiesData {
    pies: PieData[];
    properties: PieProperties;
}
export interface PieChartLayerProps<D> extends ExtendedLayerProps {
    selectedPie: D;
    depthTest: boolean;
}
export default class PieChartLayer extends Layer<PieChartLayerProps<PiesData>> {
    initializeState(): void;
    shouldUpdateState(): boolean;
    updateState({ context }: UpdateParameters<this>): void;
    getModel(device: Device, pieData: PiesData): {
        model: Model;
        pieInfo: string[][];
    };
    draw(args: any): void;
    decodePickingColor(): number;
    getPickingInfo({ info }: {
        info: PickingInfo;
    }): LayerPickInfo;
}
export {};
