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 types exactly match the cluster marker types
     * @param types The types that must be present
     * @returns Whether all types are present in the cluster marker
     */
    hasTypes(types: string[]): 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