import { type LatLng, type PolygonEventMap, type PolygonOverlay } from 'tg-map-core';
import { type PropType } from 'vue';
import { type EventEmits } from '../../utils/vue-utils';
type TgPolygonEmits = {
    'update:paths': LatLng[][];
};
export declare const tgPolygonProps: {
    paths: {
        type: PropType<LatLng[][]>;
        required: true;
    };
    clickable: {
        type: PropType<boolean>;
    };
    editable: {
        type: PropType<boolean>;
    };
    strokeColor: {
        type: PropType<string>;
    };
    strokeOpacity: {
        type: PropType<number>;
    };
    strokeWeight: {
        type: PropType<number>;
    };
    visible: {
        type: PropType<boolean>;
    };
    zIndex: {
        type: PropType<number>;
    };
    fillColor: {
        type: PropType<string>;
    };
    fillOpacity: {
        type: PropType<number>;
    };
    'onUpdate:paths': import("vue").Prop<import("tg-map-core").EventCallback<LatLng[][]>>;
};
export type TgPolygonEventEmits = EventEmits<PolygonEventMap & TgPolygonEmits>;
declare const _default: import("vue").DefineComponent<{
    paths: LatLng[][];
    visible?: boolean | undefined;
    zIndex?: number | undefined;
    clickable?: boolean | undefined;
    editable?: boolean | undefined;
    strokeColor?: string | undefined;
    strokeOpacity?: number | undefined;
    strokeWeight?: number | undefined;
    fillColor?: string | undefined;
    fillOpacity?: number | undefined;
    'onUpdate:paths'?: (import("tg-map-core").EventCallback<LatLng[][]> & ((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;
    "onPaths-edited"?: ((event: import("tg-map-core").Tg.Event) => any) | undefined;
}, {
    attrs: import("vue").ComputedRef<{
        binds: Record<string, unknown>;
        listeners: Record<string, unknown>;
        listenerProps: Record<string, unknown>;
    }>;
    overlay: PolygonOverlay;
    emittedPaths: 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<PolygonEventMap & TgPolygonEmits>, string, import("vue").PublicProps, Readonly<{
    paths: LatLng[][];
    visible?: boolean | undefined;
    zIndex?: number | undefined;
    clickable?: boolean | undefined;
    editable?: boolean | undefined;
    strokeColor?: string | undefined;
    strokeOpacity?: number | undefined;
    strokeWeight?: number | undefined;
    fillColor?: string | undefined;
    fillOpacity?: number | undefined;
    'onUpdate:paths'?: (import("tg-map-core").EventCallback<LatLng[][]> & ((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;
    "onPaths-edited"?: ((event: import("tg-map-core").Tg.Event) => any) | undefined;
}> & Readonly<{
    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;
    "onUpdate:paths"?: ((event: LatLng[][]) => any) | undefined;
    "onPaths-edited"?: ((event: import("tg-map-core").Tg.Event) => any) | undefined;
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
