import { LatLng, type CircleEventMap, type CircleOverlay } from 'tg-map-core';
import { type EventEmits } from '../../utils/vue-utils';
type TgCircleEmits = {
    'update:center': LatLng;
    'update:radius': number;
};
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    center: {
        type: import("vue").PropType<LatLng>;
        required: true;
    };
    radius: {
        type: import("vue").PropType<number>;
        required: true;
    };
    clickable: {
        type: import("vue").PropType<boolean>;
    };
    editable: {
        type: import("vue").PropType<boolean>;
    };
    strokeColor: {
        type: import("vue").PropType<string>;
    };
    strokeOpacity: {
        type: import("vue").PropType<number>;
    };
    strokeWeight: {
        type: import("vue").PropType<number>;
    };
    visible: {
        type: import("vue").PropType<boolean>;
    };
    zIndex: {
        type: import("vue").PropType<number>;
    };
    fillColor: {
        type: import("vue").PropType<string>;
    };
    fillOpacity: {
        type: import("vue").PropType<number>;
    };
    'onUpdate:center': import("vue").Prop<import("tg-map-core").EventCallback<LatLng>>;
    'onUpdate:radius': import("vue").Prop<import("tg-map-core").EventCallback<number>>;
}>, {
    attrs: import("vue").ComputedRef<{
        binds: Record<string, unknown>;
        listeners: Record<string, unknown>;
        listenerProps: Record<string, unknown>;
    }>;
    overlay: CircleOverlay;
    emittedRadius: number | undefined;
    emittedCenter: LatLng | undefined;
}, {}, {}, {}, import("vue").DefineComponent<{}, {}, {}, {}, {
    recreate(): void;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, import("vue").ComponentOptionsMixin, EventEmits<CircleEventMap & TgCircleEmits>, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    center: {
        type: import("vue").PropType<LatLng>;
        required: true;
    };
    radius: {
        type: import("vue").PropType<number>;
        required: true;
    };
    clickable: {
        type: import("vue").PropType<boolean>;
    };
    editable: {
        type: import("vue").PropType<boolean>;
    };
    strokeColor: {
        type: import("vue").PropType<string>;
    };
    strokeOpacity: {
        type: import("vue").PropType<number>;
    };
    strokeWeight: {
        type: import("vue").PropType<number>;
    };
    visible: {
        type: import("vue").PropType<boolean>;
    };
    zIndex: {
        type: import("vue").PropType<number>;
    };
    fillColor: {
        type: import("vue").PropType<string>;
    };
    fillOpacity: {
        type: import("vue").PropType<number>;
    };
    'onUpdate:center': import("vue").Prop<import("tg-map-core").EventCallback<LatLng>>;
    'onUpdate:radius': import("vue").Prop<import("tg-map-core").EventCallback<number>>;
}>> & Readonly<{
    "onUpdate:center"?: ((event: LatLng) => any) | undefined;
    onClick?: ((event: import("tg-map-core").Tg.Event) => any) | undefined;
    onDblclick?: ((event: import("tg-map-core").Tg.Event) => any) | undefined;
    onMouseover?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
    onMouseout?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
    onMousedown?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
    onMouseup?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined;
    "onCenter-changed"?: ((event: import("tg-map-core").Tg.Event) => any) | undefined;
    "onUpdate:radius"?: ((event: number) => any) | undefined;
    "onRadius-changed"?: ((event: import("tg-map-core").Tg.Event) => any) | undefined;
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
