import type { Point as ConnectorPoint } from '@revesuite/connector'; import { Rectangle } from '@revesuite/connector'; import type { PointerEventState } from '@revesuite/lit'; import { Bound, type Controller, type PhasorElement, type SurfaceManager, type SurfaceViewport, TextElement } from '@revesuite/phasor'; import { ConnectorElement, ConnectorMode } from '@revesuite/phasor'; import { type Page } from '@revesuite/store'; import { type MouseMode, type TopLevelBlockModel } from '../../__internal__/index.js'; import type { EdgelessContainer, EdgelessPageBlockComponent } from './edgeless-page-block.js'; import type { Selectable } from './selection-manager.js'; export declare const FRAME_MIN_WIDTH = 200; export declare const FRAME_MIN_HEIGHT = 20; export declare const DEFAULT_FRAME_WIDTH = 448; export declare const DEFAULT_FRAME_HEIGHT = 72; export declare const DEFAULT_FRAME_OFFSET_X = 30; export declare const DEFAULT_FRAME_OFFSET_Y = 40; export declare function isTopLevelBlock(selectable: Selectable | null): selectable is TopLevelBlockModel; export declare function isPhasorElement(selectable: Selectable | null): selectable is PhasorElement; export declare function pickTopBlock(blocks: TopLevelBlockModel[], modelX: number, modelY: number): TopLevelBlockModel | null; export declare function pickBlocksByBound(blocks: TopLevelBlockModel[], bound: Omit): import("../../models.js").FrameBlockModel[]; export declare function getSelectionBoxBound(viewport: SurfaceViewport, xywh: string): DOMRect; export declare function initWheelEventHandlers(container: EdgelessContainer): () => void; export declare function getXYWH(element: Selectable): string; export declare function stopPropagation(event: Event): void; export declare function getCursorMode(mouseMode: MouseMode): "text" | "grab" | "grabbing" | "default" | "crosshair"; export declare function pickBy(surface: SurfaceManager, page: Page, x: number, y: number, filter: (element: Selectable) => boolean): Selectable | null; export declare function generateConnectorPath(startRect: Rectangle | null, endRect: Rectangle | null, startPoint: ConnectorPoint, endPoint: ConnectorPoint, originControllers: Controller[], mode?: ConnectorMode, fixed?: 'start' | 'end'): ConnectorPoint[]; export declare function getAttachedPoint(x: number, y: number, rect?: Rectangle | null): { point: ConnectorPoint; position: ConnectorPoint | null; }; export declare function getConnectorAttachedInfo(element: ConnectorElement, surface: SurfaceManager, page: Page): { start: { element: import("@revesuite/phasor").AttachedElement | undefined; rect: Rectangle | null; point: ConnectorPoint; }; end: { element: import("@revesuite/phasor").AttachedElement | undefined; rect: Rectangle | null; point: ConnectorPoint; }; }; export declare function isConnectorAndBindingsAllSelected(connector: ConnectorElement, selected: Selectable[]): boolean; export declare function handleElementChangedEffectForConnector(element: Selectable, selected: Selectable[], surface: SurfaceManager, page: Page): void; export declare function getBackgroundGrid(viewportX: number, viewportY: number, zoom: number, showGrid: boolean): { gap: number; translateX: number; translateY: number; grid: string; }; export declare function addNote(edgeless: EdgelessPageBlockComponent, page: Page, event: PointerEventState, width?: number): void; export declare function mountTextEditor(textElement: TextElement, edgeless: EdgelessPageBlockComponent): void; export declare function addText(edgeless: EdgelessPageBlockComponent, event: PointerEventState): void; export declare function xywhArrayToObject(element: TopLevelBlockModel): { x: number; y: number; w: number; h: number; }; //# sourceMappingURL=utils.d.ts.map