import { YMapComplexEntity, YMapEntity } from "../../imperative";
import { optionsKeyVuefy, overrideKeyReactify, overrideKeyVuefy } from "../../imperative/wrappers";
import { RenderPointCommonArgs, YMapRulerCommon, YMapRulerCommonProps } from "./YMapRulerCommon";
export type YMapRulerProps = Omit<YMapRulerCommonProps, "point"> & {
    point: (params: RenderPointArgs) => YMapEntity<RenderPointArgs>;
};
export type RenderPointArgs = RenderPointCommonArgs;
declare const defaultProps: Readonly<{}>;
export declare class YMapRuler extends YMapComplexEntity<YMapRulerProps, typeof defaultProps> {
    static defaultProps: Readonly<{}>;
    static [optionsKeyVuefy]: import("../vuefy").CustomVuefyOptions<YMapRulerCommon, {
        type: import("./YMapRulerCommon").RulerType;
        source?: string | undefined;
        geometry: import("./YMapRulerCommon").RulerGeometry;
        onUpdate?: import("./YMapRulerCommon").UpdateCommonFn | undefined;
        zIndex?: number | undefined;
        points: import("../../common/types/lng-lat").LngLat[];
        editable?: boolean | undefined;
        onUpdateStart?: import("./YMapRulerCommon").UpdateStartFn | undefined;
        onUpdateEnd?: import("./YMapRulerCommon").UpdateEndFn | undefined;
    }>;
    static [overrideKeyReactify]: import("../../reactify/reactify").CustomReactify<YMapRuler, import("react").ForwardRefExoticComponent<{
        type: import("./YMapRulerCommon").RulerType;
        source?: string | undefined;
        geometry: import("./YMapRulerCommon").RulerGeometry;
        onUpdate?: import("./YMapRulerCommon").UpdateCommonFn | undefined;
        zIndex?: number | undefined;
        points: import("../../common/types/lng-lat").LngLat[];
        editable?: boolean | undefined;
        onUpdateStart?: import("./YMapRulerCommon").UpdateStartFn | undefined;
        onUpdateEnd?: import("./YMapRulerCommon").UpdateEndFn | undefined;
        point: (params: RenderPointCommonArgs) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
        previewPoint: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
        ref?: import("react").Ref<YMapRulerCommon> | undefined;
        key?: import("react").Key | null | undefined;
    }>>;
    static [overrideKeyVuefy]: import("../vuefy").CustomVuefyFn<YMapRulerCommon, {
        type: import("./YMapRulerCommon").RulerType;
        source?: string | undefined;
        geometry: import("./YMapRulerCommon").RulerGeometry;
        onUpdate?: import("./YMapRulerCommon").UpdateCommonFn | undefined;
        zIndex?: number | undefined;
        points: import("../../common/types/lng-lat").LngLat[];
        editable?: boolean | undefined;
        onUpdateStart?: import("./YMapRulerCommon").UpdateStartFn | undefined;
        onUpdateEnd?: import("./YMapRulerCommon").UpdateEndFn | undefined;
    }>;
    private _rulerCommon;
    private _previewPointWrapper;
    constructor(props: YMapRulerProps);
    protected _onUpdate(): void;
    private _renderPoints;
}
export {};
