import { type Editor, Node } from '@tiptap/core'; /** The bounded connector subset shared by the Writer and DOCX paths. */ export type WorkDocumentConnectorLayout = 'inline' | 'floating'; export type WorkDocumentConnectorKind = 'straight' | 'elbow' | 'curved'; export type WorkDocumentConnectorArrow = 'none' | 'triangle' | 'stealth' | 'diamond' | 'oval' | 'open'; export type WorkDocumentConnectorLineStyle = 'solid' | 'dash' | 'dot' | 'dashDot'; export type WorkDocumentConnectorReference = 'column' | 'margin' | 'page'; export type WorkDocumentConnectorVerticalReference = 'paragraph' | 'margin' | 'page'; export interface WorkDocumentConnectorProperties { id: string; connectorKind: WorkDocumentConnectorKind; width: number; height: number; layout: WorkDocumentConnectorLayout; horizontalOffset: number | null; verticalOffset: number | null; horizontalReference: WorkDocumentConnectorReference; verticalReference: WorkDocumentConnectorVerticalReference; startX: number; startY: number; endX: number; endY: number; lineColor: string; lineWidth: number; lineStyle: WorkDocumentConnectorLineStyle; startArrow: WorkDocumentConnectorArrow; endArrow: WorkDocumentConnectorArrow; docPropertiesId: number | null; } export interface WorkDocumentConnectorPoint { x: number; y: number; } export interface DocumentConnectorCommandOptions { restoreFocus?: boolean; } declare module '@tiptap/core' { interface Commands { documentConnector: { insertDocumentConnector: (options?: Partial) => ReturnType; setDocumentConnectorProperties: (value: Partial, options?: DocumentConnectorCommandOptions) => ReturnType; deleteDocumentConnector: (options?: DocumentConnectorCommandOptions) => ReturnType; }; } } export declare const DOCUMENT_CONNECTOR_DEFAULTS: WorkDocumentConnectorProperties; export declare const DOCUMENT_CONNECTOR_LIMITS: { readonly width: { readonly min: 10; readonly max: 558.7; }; readonly height: { readonly min: 0.5; readonly max: 558.7; }; readonly offset: { readonly min: -558.7; readonly max: 558.7; }; readonly endpoint: { readonly min: 0; readonly max: 100; }; readonly lineWidth: { readonly min: 0.1; readonly max: 10; }; }; export declare const DocumentConnector: Node; export declare function documentConnectorProperties(editor: Editor): WorkDocumentConnectorProperties; export declare function setDocumentConnectorProperties(editor: Editor, value: Partial, options?: DocumentConnectorCommandOptions): boolean; export declare function normalizeDocumentConnectorProperties(value: Partial>): WorkDocumentConnectorProperties; export declare function connectorCss(value: Partial>): string; export declare function connectorDomAttributes(value: Partial>): Record; export declare function documentConnectorPropertiesFromElement(element: Element): WorkDocumentConnectorProperties; /** Returns deterministic route points for the editable connector subset. */ export declare function connectorRoutePoints(value: Partial>): WorkDocumentConnectorPoint[]; export declare function connectorCurveControlPoint(value: Partial>): WorkDocumentConnectorPoint;