import PropTypes from 'prop-types';
import L from 'leaflet';
import Path from '../Path';
export declare type CircleMarkerOptions = Omit<L.CircleMarkerOptions, 'radius'>;
interface RequiredProps {
    center: L.LatLngExpression;
    radius: number;
}
export declare type Props = Readonly<RequiredProps>;
export default class CircleMarker<P extends CircleMarkerOptions = CircleMarkerOptions> extends Path<L.CircleMarker, Props & P> {
    static propTypes: {
        radius: PropTypes.Validator<number>;
        center: PropTypes.Validator<number[] | L.LatLng | PropTypes.InferProps<{
            lat: PropTypes.Validator<number>;
            lng: PropTypes.Validator<number>;
        }>>;
        stroke: PropTypes.Requireable<boolean>;
        color: PropTypes.Requireable<string>;
        weight: PropTypes.Requireable<number>;
        opacity: PropTypes.Requireable<number>;
        lineCap: PropTypes.Requireable<L.LineCapShape>;
        lineJoin: PropTypes.Requireable<L.LineJoinShape>;
        dashArray: PropTypes.Requireable<string | number[]>;
        dashOffset: PropTypes.Requireable<string>;
        fill: PropTypes.Requireable<boolean>;
        fillColor: PropTypes.Requireable<string>;
        fillOpacity: PropTypes.Requireable<number>;
        fillRule: PropTypes.Requireable<L.FillRule>;
        renderer: PropTypes.Requireable<L.Renderer>;
        className: PropTypes.Requireable<string>;
        interactive: PropTypes.Requireable<boolean>;
        bubblingMouseEvents: PropTypes.Requireable<boolean>;
        group: PropTypes.Requireable<L.LayerGroup<unknown>>;
        pane: PropTypes.Requireable<string>;
        attribution: PropTypes.Requireable<string>;
        onCreate: PropTypes.Requireable<(...args: any[]) => any>;
        onAdd: PropTypes.Requireable<(...args: any[]) => any>;
        onUpdate: PropTypes.Requireable<(...args: any[]) => any>;
        onBeforeRemove: PropTypes.Requireable<(...args: any[]) => any>;
        onRemove: PropTypes.Requireable<(...args: any[]) => any>;
        children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        onClick: PropTypes.Requireable<(...args: any[]) => any>;
        onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
        onMouseOut: PropTypes.Requireable<(...args: any[]) => any>;
    };
    protected createInstance(props: Props & P): L.CircleMarker;
    componentDidUpdate(prevProps: Props & P): void;
}
export {};
