import React from 'react';
import { WithYMapsProps } from '../hocs/withYMaps';
import { AnyFunction, AnyObject, WithInstanceRef } from '../util/typing';
import { ErrorBoundaryProps } from '../hocs/with-error-boundary';
interface ObjectManagerProps {
  /**
   * ObjectManager [features](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/ObjectManager-docpage/#method_detail__add-param-objects)
   */
  features?: AnyObject;
  /**
   * Uncontrolled ObjectManager [features](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/ObjectManager-docpage/#method_detail__add-param-objects)
   */
  defaultFeatures?: AnyObject;
  /**
   * ObjectManager [features filter](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/ObjectManager-docpage/#method_detail__setFilter-param-filterFunction)
   */
  filter?: AnyFunction;
  /**
   * Uncontrolled ObjectManager [features filter](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/ObjectManager-docpage/#method_detail__setFilter-param-filterFunction)
   */
  defaultFilter?: AnyFunction;
  /**
   * ObjectManager [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/ObjectManager-docpage/#ObjectManager__param-options)
   */
  options?: AnyObject;
  /**
   * Uncontrolled ObjectManager [options](https://tech.yandex.com/maps/doc/jsapi/2.1/ref/reference/ObjectManager-docpage/#ObjectManager__param-options)
   */
  defaultOptions?: AnyObject;
  /** ObjectManager object options */
  objects?: AnyObject;
  defaultObjects?: AnyObject;
  /** ObjectManager clusters options */
  clusters?: AnyObject;
  defaultClusters?: AnyObject;
}
export declare class ObjectManager extends React.Component<
  ObjectManagerProps &
    WithYMapsProps &
    WithInstanceRef &
    ErrorBoundaryProps &
    AnyObject
> {
  constructor();
  componentDidMount(): void;
  componentDidUpdate(prevProps: any): void;
  componentWillUnmount(): void;
  render(): null;
  static mountObject(ObjectManager: any, props: any): any;
  static updateObject(instance: any, oldProps: any, newProps: any): void;
  static unmountObject(instance: any, props: any): void;
}
declare const _default: React.FC<
  React.PropsWithChildren<AnyObject & ErrorBoundaryProps>
>;
export default _default;
