import { Dom, type KeyValue } from '../../common'; import type { ViewEvents } from '../../types'; import type { CellView } from '../cell'; import { type MarkupType } from '../markup'; import { View } from '../view'; import type { ToolsView } from './tool-view'; export interface ToolItemOptions { name?: string; tagName?: string; isSVGElement?: boolean; className?: string; markup?: Exclude; events?: ViewEvents | null; documentEvents?: ViewEvents | null; focusOpacity?: number; } export type ToolItemDefinition = typeof ToolItem | (new (options: ToolItemOptions) => ToolItem); export declare class ToolItem extends View { static toStringTag: string; static defaults: ToolItemOptions; static isToolItem(instance: any): instance is ToolItem; static define(options: T): typeof ToolItem; static getDefaults(): T; static config(options: Partial): void; static getOptions(options: Partial): T; readonly options: Options; container: HTMLElement | SVGElement; parent: ToolsView; protected cellView: TargetView; protected visible: boolean; protected childNodes: KeyValue; get graph(): import("../..").Graph; get cell(): import("../..").Cell; get name(): string; protected get [Symbol.toStringTag](): string; constructor(options?: Partial); protected init(): void; protected getOptions(options: Partial): Options; delegateEvents(): this; config(view: CellView, toolsView: ToolsView): this; render(): this; protected onRender(): void; update(): this; protected stamp(elem: Element): void; show(): this; hide(): this; isVisible(): boolean; focus(): this; blur(): this; protected guard(evt: Dom.EventObject): any; } export declare const ToolItemToStringTag: string;