import type TReact from 'react';
import type { Context } from '../Entities';
import { YMapGroupEntity } from '../YMapEnities';
import { overrideKeyReactify } from '../wrappers';
interface YMapContainerPropsImpl<TContext> {
    onElement: (element?: Element) => void;
    onContext: (context?: TContext) => void;
}
interface YMapContainerProps<TContext> {
    tagName?: string;
    className?: string;
    style?: TReact.CSSProperties;
    context?: Context<TContext>;
}
declare const defaultProps: {
    tagName: string;
};
type DefaultProps = typeof defaultProps;
type ComputedYMapContainerProps<TContext> = YMapContainerProps<TContext> & YMapContainerPropsImpl<TContext>;
/**
 * Allow adding or removing [[YMapEntity]] objects or usual DOM elements inside the YMap.
 * ```tsx
 * const container = <YMapContainer>
 *     <YMapMarker coordinates={[55.76, 37.64]}><div className="point"></div></YMapMarker>
 *     <div>Some text</div>
 * </YMapContainer>;
 *
 * ReactDOM.render(<YMap>{container}</YMap, document.getElementById('root'));
 * ```
 * In this example, the `container` variable contains a `YMapContainer` object with two children: `YMapMarker` and `div`.
 * - `YMapMarker` is a YMapEntity
 * - `div` is a usual DOM element
 */
declare class YMapContainer extends YMapGroupEntity<ComputedYMapContainerProps<unknown>, DefaultProps> {
    static defaultProps: {
        tagName: string;
    };
    static [overrideKeyReactify]: import("../../reactify/reactify").CustomReactify<import("../YMapReactContainer/index").YMapReactContainer, TReact.FC<import("../YMapReactContainer/index").YMapReactContainerProps<unknown> & {
        children?: TReact.ReactNode;
    }>>;
    element?: Element;
    private _detachDom?;
    private _disposeWatch?;
    protected _onAttach(): void;
    private _adjustContext;
    protected _onDetach(): void;
    protected _onUpdate(props: Partial<ComputedYMapContainerProps<unknown>>): void;
}
export { YMapContainer, YMapContainerProps, YMapContainerPropsImpl, ComputedYMapContainerProps };
