/**
 * Render comments feature module.
 *
 * Purpose: Public API entry point for rendering comment annotations.
 * Orchestrates state updates, subscriptions, and delegates to commentRenderer.
 *
 * Key responsibilities:
 * - Update state with new annotations
 * - Subscribe to selected annotations from Velt
 * - Delegate rendering logic to commentRenderer
 *
 * Dependencies:
 * - adapters/velt.ts (for Velt SDK subscription)
 * - adapters/host/doc.ts (for editor setup)
 * - core/state.ts (for state management)
 * - features/commentRenderer.ts (for rendering logic)
 * - types/velt.ts (for CommentAnnotation)
 * - utils/console.ts (for logging)
 *
 * IMPORTANT: This module MUST NOT import editor or Velt types directly.
 * All SDK access goes through adapters.
 */
import type { RenderCommentsRequest } from '@/types/common';
/**
 * Renders comment annotations as marks in the editor.
 *
 * This function renders comment annotations as visual marks in the editor.
 * It filters annotations for the specific editor and applies marks accordingly.
 *
 * @param request - Object containing editor, editorId (optional), and commentAnnotations (optional)
 *
 * @example
 * ```typescript
 * // Simple usage
 * renderComments({ editor });
 *
 * // With editor ID
 * renderComments({ editorId: 'my-editor', editor });
 *
 * // With annotations
 * renderComments({
 *   editorId: 'my-editor',
 *   editor,
 *   commentAnnotations: [
 *     {
 *       annotationId: 'ann-123',
 *       context: {
 *         textEditorConfig: {
 *           text: 'Hello world',
 *           occurrence: 1,
 *           editorId: 'my-editor'
 *         }
 *       }
 *     }
 *   ]
 * });
 * ```
 *
 * @remarks
 * - Only annotations with matching editorId are rendered
 * - Automatically subscribes to selected annotations changes
 * - Filters out terminal/resolved comments unless they're selected
 * - Removes marks when comments become resolved
 * - Re-applies marks when resolved comments are selected
 */
export declare const renderComments: ({ editor, editorId, commentAnnotations, }: RenderCommentsRequest) => void;
/**
 * Cleans up subscriptions and renderer state for an editor.
 * Should be called when editor is destroyed.
 *
 * @param editorId Unique identifier for the editor
 */
export declare const cleanupRenderComments: (editorId: string) => void;
