import { LitElement, TemplateResult, SVGTemplateResult } from "lit";
import { Map } from "maplibre-gl";
/**
 * Slice of the donut chart for cluster markers
 */
export type Slice = [type: string, color: string, count: number];
export declare class OrClusterMarker extends LitElement {
    lng?: number;
    lat?: number;
    protected _slices: Slice[];
    protected _clusterId?: number;
    protected _map: Map;
    protected _highThreshold: number;
    protected _midTreshold: number;
    protected _lowTreshold: number;
    constructor(slices: Slice[], clusterId: number, lng: number, lat: number, map: Map);
    /**
     * Checks that all slices match the accumulated cluster properties
     *
     * Note: This method assumes the slices contain the same types as `counts`. If not,
     * a new cluster marker should be created.
     * @param counts A record of the accumulated cluster properties to check
     * @returns Whether the slices have the same counts as the accumulated properties
     */
    slicesMatch(counts: Record<string, number>): boolean;
    protected render(): TemplateResult<2>;
    /**
     * Based on https://github.com/maplibre/maplibre-gl-js/blob/3aa2de2e3a365c07ac2792847c242a7c36e625ea/test/examples/display-html-clusters-with-custom-properties.html#L147
     */
    protected _createDonutChart(slices: Slice[]): TemplateResult;
    /**
     * Based on https://github.com/maplibre/maplibre-gl-js/blob/3aa2de2e3a365c07ac2792847c242a7c36e625ea/test/examples/display-html-clusters-with-custom-properties.html#L209
     */
    protected _donutSegment(start: number, end: number, r: number, r0: number, color: string, dR: number): SVGTemplateResult;
    connectedCallback(): void;
    disconnectedCallback(): void;
    protected onClick(): Promise<void>;
}
//# sourceMappingURL=or-cluster-marker.d.ts.map