import { PositionProp, Position } from '../../components/controls/position.enum.ts';
import { DrawMode, DrawModel, PointerPrecisionOption } from '.';
import { PropType, SlotsType, DefineComponent, ExtractPropTypes, VNode, RendererNode, RendererElement, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
declare const _default: DefineComponent<ExtractPropTypes<{
    position: {
        type: PropType<PositionProp>;
        default: Position;
    };
    model: {
        type: PropType<DrawModel>;
    };
    mode: {
        type: PropType<DrawMode | "POLYGON" | "CIRCLE" | "CIRCLE_STATIC">;
        default: DrawMode;
    };
    defaultMode: {
        type: PropType<DrawMode | "POLYGON" | "CIRCLE" | "CIRCLE_STATIC">;
        default: DrawMode;
    };
    autoZoom: {
        type: BooleanConstructor;
        default: boolean;
    };
    minAreaSize: {
        type: NumberConstructor;
    };
    minAreaColor: {
        type: StringConstructor;
    };
    minAreaLabel: {
        type: StringConstructor;
    };
    pointerPrecision: {
        type: PropType<PointerPrecisionOption>;
    };
}>, () => VNode<RendererNode, RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("update:mode" | "update:model")[], "update:mode" | "update:model", PublicProps, Readonly< ExtractPropTypes<{
    position: {
        type: PropType<PositionProp>;
        default: Position;
    };
    model: {
        type: PropType<DrawModel>;
    };
    mode: {
        type: PropType<DrawMode | "POLYGON" | "CIRCLE" | "CIRCLE_STATIC">;
        default: DrawMode;
    };
    defaultMode: {
        type: PropType<DrawMode | "POLYGON" | "CIRCLE" | "CIRCLE_STATIC">;
        default: DrawMode;
    };
    autoZoom: {
        type: BooleanConstructor;
        default: boolean;
    };
    minAreaSize: {
        type: NumberConstructor;
    };
    minAreaColor: {
        type: StringConstructor;
    };
    minAreaLabel: {
        type: StringConstructor;
    };
    pointerPrecision: {
        type: PropType<PointerPrecisionOption>;
    };
}>> & Readonly<{
    "onUpdate:mode"?: ((...args: any[]) => any) | undefined;
    "onUpdate:model"?: ((...args: any[]) => any) | undefined;
}>, {
    mode: "POLYGON" | "CIRCLE" | "CIRCLE_STATIC" | DrawMode;
    position: PositionProp;
    autoZoom: boolean;
    defaultMode: "POLYGON" | "CIRCLE" | "CIRCLE_STATIC" | DrawMode;
}, SlotsType<{
    buttons: {
        mode: DrawMode;
        setMode: (mode: DrawMode) => void;
    };
}>, {
    MglCustomControl: DefineComponent<ExtractPropTypes<{
        position: {
            type: PropType<PositionProp>;
            validator: (v: Position) => boolean;
        };
        noClasses: {
            type: PropType<boolean>;
            default: boolean;
        };
    }>, () => VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }>, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
        position: {
            type: PropType<PositionProp>;
            validator: (v: Position) => boolean;
        };
        noClasses: {
            type: PropType<boolean>;
            default: boolean;
        };
    }>> & Readonly<{}>, {
        noClasses: boolean;
    }, SlotsType<{
        default: {};
    }>, {}, {}, string, ComponentProvideOptions, true, {}, any>;
}, {}, string, ComponentProvideOptions, true, {}, any>;
export default _default;
