import { ThreadData } from '@liveblocks/client'; import { ID, ZeniDate } from '@zeniai/client-epic-state'; import { ThreadMetadata } from '../../commentsAndNotes/utils/CollaborationTypes'; import { MonthAndYear } from '../../formElements/monthCalendarField/MonthCalendar'; export type SelectionData = { endNodeId: ID; endOffset: number; endPath: number[]; startNodeId: ID; startOffset: number; startPath: number[]; }; export declare const FORM_MINIMUM_WIDTH = 726; export declare const COMMENTS_DRAWER_MAXIMUM_WIDTH = 450; export declare const COMMENTS_SECTION_MINIMUM_WIDTH = 360; export declare const MONTH_END_EDITOR_PLACEHOLDER = ""; export declare const EDITOR_CLASS_NAME = "editor-input"; export declare const MONTH_END_EMAIL_HEADER_SECTION = "month-end-email-header-section"; export declare const MONTH_END_EMAIL_EDITOR_SECTION = "month-end-email-editor-section"; export declare const MONTH_END_EMAIL_BODY_SECTION = "month-end-email-body-section"; export declare const MONTH_END_REPORT_CANVAS = "monthEndReportCanvas"; export declare const THREADS_LEFT: number; export declare const OPEN_THREADS_INDENT: number; export type Coordinates = { left: number; top: number; }; export declare const getHistoricMonthsList: (fiscalMonth: number, datesList: ZeniDate[]) => MonthAndYear[]; /** * Given ThreadMetadata, build a Range. This is very useful to * render the highlight over the text, by leveraging native browser * APIs. */ export declare const getRange: (metadata: ThreadMetadata, editorMode: boolean) => Range | null; export declare const getTopPxFromMetadata: (metadata: ThreadMetadata, editorMode: boolean) => number; export declare const getElement: (node: Node) => HTMLElement | null; export declare const getSelectionData: () => SelectionData | null; export declare const useFloatingThreads: (filterMetaData: Partial, canvasContainerRef: React.RefObject, editorMode: boolean, isLoading: boolean) => { observer: ResizeObserver; setThreadsPositions: React.Dispatch>; sheetContainerBoundingClientRect: React.MutableRefObject; sortedThreads: [ID, ThreadData][]; threadsPositions: Coordinates[]; threadsReady: Set; threadsRefs: React.MutableRefObject<(HTMLDivElement | undefined)[]>; unresolvedThreadsMap: ReadonlyMap>; handleRemoveFloatingThread: (threadId: ID) => void; }; export declare const useHandleSelection: (canvasId: ID, isCrossSectionSelectionAllowed: boolean, editorMode: boolean) => { alignment: "top" | "left"; coords: Coordinates | undefined; }; /** * Month End Email Content - Helpers */ export declare const getHTMLWithCommentingSections: (concatenatedHtml?: string) => string;