import React from 'react';
import { AnyFunction, AnyObject, WithInstanceRef } from '../util/typing';
export interface BaseGeoObjectProps {
  /** Parent object (e.g, ymaps.Map or ymaps.Clusterer) */
  parent?: AnyObject;
  /** GeoObject name */
  name: Required<
    'GeoObject' | 'Placemark' | 'Polyline' | 'Rectangle' | 'Polygon' | 'Circle'
  >;
  /**
   * Used in a special case where constructor needs to be
   * modified before passing it to the mount method
   */
  dangerZone?: {
    modifyConstructor: AnyFunction;
  };
}
export declare class BaseGeoObject extends React.Component<
  BaseGeoObjectProps & WithInstanceRef
> {
  constructor();
  componentDidMount(): void;
  componentDidUpdate(prevProps: any): void;
  componentWillUnmount(): void;
  render(): null;
  static mountObject(GeoObject: any, props: any): any;
  static updateObject(instance: any, oldProps: any, newProps: any): void;
  static unmountObject(instance: any, props: any): void;
}
