export declare const DOCUMENT_COMMENT_WINDOW_THRESHOLD = 48; export declare const DOCUMENT_COMMENT_WINDOW_LIMIT = 32; export declare const DOCUMENT_COMMENT_WINDOW_OVERSCAN = 4; export interface DocumentCommentWindowRange { end: number; start: number; windowed: boolean; } export declare function useDocumentCommentWindow({ keys, onRovingKeyChange, pinnedKeys, rovingKey, }: { keys: readonly string[]; onRovingKeyChange: (key: string) => void; pinnedKeys?: readonly (string | null | undefined)[]; rovingKey: string | null; }): { focusAt: (requestedIndex: number) => void; mountedIndices: number[]; onItemFocus: (index: number) => void; onViewportAnchorChange: (index: number) => void; range: DocumentCommentWindowRange; registerItem: (key: string, element: HTMLElement | null) => void; rovingIndex: number; }; export declare function calculateDocumentCommentWindowRange({ anchorIndex, itemCount, limit, overscan, threshold, }: { anchorIndex: number; itemCount: number; limit?: number; overscan?: number; threshold?: number; }): DocumentCommentWindowRange; export declare function documentCommentWindowIndices({ itemCount, pinnedIndices, range, }: { itemCount: number; pinnedIndices: readonly number[]; range: DocumentCommentWindowRange; }): number[]; export declare function documentCommentKeyboardDestination(key: string, index: number, itemCount: number): number | null; export declare function focusDocumentCommentItem(element: HTMLElement): void; export declare function scrollDocumentCommentItemIntoView(element: HTMLElement): void;