import { overrideKeyReactify } from '../wrappers'; import { YMapGroupEntity } from '../YMapEnities'; /** * YMapControl props */ export type YMapControlProps = { /** Makes the control transparent by removing background color and shadows */ transparent?: boolean; }; declare const defaultProps: Readonly<{ transparent: false; }>; type DefaultProps = typeof defaultProps; /** * DOM wrapper for creating custom controls. Connects the styles required by the control. * * @example * ```javascript * const control = new YMapControl(); * class YMapSomeController extends DomEntity { * _createDom() { * const element = document.createElement('button'); * this._updateDom(element, this._props, true); * return element; * } * _updateDom(element, props, init = false) { * element.innerText = props.title; * } * } * const button = new YMapSomeController({ * title: 'Click me!' * }); * control.addChild(button); * map.addChild(control); * @see [[YMapControlCommonButton]] * ``` * * @module YMapControl */ export declare class YMapControl extends YMapGroupEntity { static defaultProps: Readonly<{ transparent: false; }>; static [overrideKeyReactify]: import("../../reactify/reactify").CustomReactify>> | undefined; key?: import("react").Key | null | undefined; }>>; private _element?; private _innerElement?; private _detachDom?; private _unwatchThemeContext?; constructor(props?: YMapControlProps, element?: HTMLElement); protected _createDom(): HTMLElement; protected _onAttach(): void; protected _onUpdate(props: Partial): void; private __watchThemeContext; protected _onDetach(): void; private _updateTheme; } export {};