import { TooltipProps } from '../../../../Tooltip'; import { CanvasNode } from '../core/CanvasNode'; type InteractionLockListener = (locked: boolean) => void; export declare function lockPortalHover(): () => void; export declare function isPortalHoverLocked(): boolean; export declare function subscribeToPortalHoverLock(listener: InteractionLockListener): () => void; export type CanvasPortalSource = 'header' | 'cell'; export interface TooltipContextShape { column?: T; row?: T; ctxs?: T; refTable?: T; colInd?: T; rowInd?: T; theme?: T; } export interface TooltipContext { column?: T; row?: T; ctxs?: T; refTable?: T; colInd?: T; rowInd?: T; theme?: T; } export type CanvasNodeTooltipProps = Pick & { preserveLineBreaks?: boolean; offsetX?: number; }; export type CanvasNodeTooltipConfig = string | (CanvasNodeTooltipProps & { text: string; mouseEnterDelay?: number; mouseLeaveDelay?: number; }); export interface CanvasPortalHoverDetail { visible: boolean; x: number; y: number; width: number; height: number; node?: CanvasNode | null; nodeId?: string; source?: CanvasPortalSource; originId?: string; tooltipContext?: TContext; tooltipFromNode?: CanvasNodeTooltipConfig; priority?: number; } export type CanvasPortalHoverListener = (detail: CanvasPortalHoverDetail) => void; export declare const CANVAS_PORTAL_EVENT = "basic-grid-canvas-portal-hover"; export declare function dispatchCanvasPortalHover(detail: CanvasPortalHoverDetail, target?: EventTarget | null, immediate?: boolean): void; export declare function subscribeToCanvasPortalHover(listener: CanvasPortalHoverListener, target?: EventTarget | null): () => void; export {};