import React from 'react'; import { ButtonView, ButtonSize, IconProps, MenuItemProps } from '@gravity-ui/uikit'; import { ConfigItem, PluginBase } from '../../shared'; import './OverlayControls.css'; export declare enum OverlayControlsPosition { TopRight = "top_right", TopLeft = "top_left", BottomRight = "bottom_right", BottomLeft = "bottom_left" } export interface OverlayControlItem { title?: string; icon?: IconProps['data']; iconSize?: number | string; handler?: (item: ConfigItem) => void; allWidgetsControls?: boolean; excludeWidgetsTypes?: Array; id?: string; } export interface OverlayCustomControlItem { id: string; title?: string; icon?: MenuItemProps['icon']; iconSize?: number | string; handler?: (item: ConfigItem) => void; visible?: (item: ConfigItem) => boolean; className?: string; } interface OverlayControlsDefaultProps { position: OverlayControlsPosition; view: ButtonView; size: ButtonSize; } interface OverlayControlsProps extends OverlayControlsDefaultProps { configItem: ConfigItem; items?: OverlayControlItem[]; } declare class OverlayControls extends React.Component { static contextType: React.Context; static defaultProps: OverlayControlsDefaultProps; render(): JSX.Element; private renderControlsItem; private getDropDownMenuItemConfig; private renderControls; private renderMenu; private isDefaultMenu; private renderDropdownMenu; private getCustomLeftOverlayControls; private onCopyItem; private onEditItem; private onRemoveItem; private getControlItemPinStyle; private getCustomControlsWithWidgets; } export default OverlayControls;