import { ALTERNATE_FILE_NAMES_GIT, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_THEMES, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_TAG_NAME, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, SPLIT_WITH_NEWLINES, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE } from "./constants.js";
import { areSelectionsEqual } from "./utils/areSelectionsEqual.js";
import { LineSelectionManager, pluckLineSelectionOptions } from "./managers/LineSelectionManager.js";
import { MouseEventManager, pluckMouseEventOptions } from "./managers/MouseEventManager.js";
import { ResizeManager } from "./managers/ResizeManager.js";
import { AttachedLanguages, RegisteredCustomLanguages, ResolvedLanguages, ResolvingLanguages } from "./highlighter/languages/constants.js";
import { areLanguagesAttached } from "./highlighter/languages/areLanguagesAttached.js";
import { attachResolvedLanguages } from "./highlighter/languages/attachResolvedLanguages.js";
import { cleanUpResolvedLanguages } from "./highlighter/languages/cleanUpResolvedLanguages.js";
import { isWorkerContext } from "./utils/isWorkerContext.js";
import { resolveLanguage } from "./highlighter/languages/resolveLanguage.js";
import { getResolvedOrResolveLanguage } from "./highlighter/languages/getResolvedOrResolveLanguage.js";
import { AttachedThemes, RegisteredCustomThemes, ResolvedThemes, ResolvingThemes } from "./highlighter/themes/constants.js";
import { attachResolvedThemes } from "./highlighter/themes/attachResolvedThemes.js";
import { cleanUpResolvedThemes } from "./highlighter/themes/cleanUpResolvedThemes.js";
import { resolveTheme } from "./highlighter/themes/resolveTheme.js";
import { getResolvedOrResolveTheme } from "./highlighter/themes/getResolvedOrResolveTheme.js";
import { registerCustomTheme } from "./highlighter/themes/registerCustomTheme.js";
import { disposeHighlighter, getHighlighterIfLoaded, getSharedHighlighter, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, preloadHighlighter } from "./highlighter/shared_highlighter.js";
import { getThemes } from "./utils/getThemes.js";
import { areThemesAttached } from "./highlighter/themes/areThemesAttached.js";
import { hasResolvedThemes } from "./highlighter/themes/hasResolvedThemes.js";
import { areRenderRangesEqual } from "./utils/areRenderRangesEqual.js";
import { areThemesEqual } from "./utils/areThemesEqual.js";
import { createGutterGap, createGutterItem, createGutterWrapper, createHastElement, createIconElement, createTextNodeElement, findCodeElement } from "./utils/hast_utils.js";
import { createAnnotationElement } from "./utils/createAnnotationElement.js";
import { getIconForType } from "./utils/getIconForType.js";
import { createFileHeaderElement } from "./utils/createFileHeaderElement.js";
import { createPreElement, createPreWrapperProperties } from "./utils/createPreElement.js";
import { CUSTOM_EXTENSION_TO_FILE_FORMAT, EXTENSION_TO_FILE_FORMAT, extendFileFormatMap, getFiletypeFromFileName } from "./utils/getFiletypeFromFileName.js";
import { getHighlighterOptions } from "./utils/getHighlighterOptions.js";
import { getLineAnnotationName } from "./utils/getLineAnnotationName.js";
import { cleanLastNewline } from "./utils/cleanLastNewline.js";
import { processLine } from "./utils/processLine.js";
import { createTransformerWithState } from "./utils/createTransformerWithState.js";
import { formatCSSVariablePrefix } from "./utils/formatCSSVariablePrefix.js";
import { getHighlighterThemeStyles } from "./utils/getHighlighterThemeStyles.js";
import { getLineNodes } from "./utils/getLineNodes.js";
import { renderFileWithHighlighter } from "./utils/renderFileWithHighlighter.js";
import { FileRenderer } from "./renderers/FileRenderer.js";
import { SVGSpriteSheet } from "./sprite.js";
import { areFilesEqual } from "./utils/areFilesEqual.js";
import { areLineAnnotationsEqual } from "./utils/areLineAnnotationsEqual.js";
import { arePrePropertiesEqual } from "./utils/arePrePropertiesEqual.js";
import { createAnnotationWrapperNode } from "./utils/createAnnotationWrapperNode.js";
import { createHoverContentNode } from "./utils/createHoverContentNode.js";
import { createUnsafeCSSStyleNode } from "./utils/createUnsafeCSSStyleNode.js";
import { wrapCoreCSS, wrapUnsafeCSS } from "./utils/cssWrappers.js";
import { getOrCreateCodeNode } from "./utils/getOrCreateCodeNode.js";
import { prerenderHTMLIfNecessary } from "./utils/prerenderHTMLIfNecessary.js";
import { setPreNodeProperties } from "./utils/setWrapperNodeProps.js";
import { File } from "./components/File.js";
import { ScrollSyncManager } from "./managers/ScrollSyncManager.js";
import { createEmptyRowBuffer } from "./utils/createEmptyRowBuffer.js";
import { createNoNewlineElement } from "./utils/createNoNewlineElement.js";
import { createSeparator } from "./utils/createSeparator.js";
import { getHunkSeparatorSlotName } from "./utils/getHunkSeparatorSlotName.js";
import { getTotalLineCountFromHunks } from "./utils/getTotalLineCountFromHunks.js";
import { isDefaultRenderRange } from "./utils/isDefaultRenderRange.js";
import { createDiffSpanDecoration, pushOrJoinSpan } from "./utils/parseDiffDecorations.js";
import { renderDiffWithHighlighter } from "./utils/renderDiffWithHighlighter.js";
import { DiffHunksRenderer } from "./renderers/DiffHunksRenderer.js";
import { areDiffLineAnnotationsEqual } from "./utils/areDiffLineAnnotationsEqual.js";
import { areHunkDataEqual } from "./utils/areHunkDataEqual.js";
import { parseLineType } from "./utils/parseLineType.js";
import { parsePatchFiles, processFile, processPatch } from "./utils/parsePatchFiles.js";
import { parseDiffFromFile } from "./utils/parseDiffFromFile.js";
import { FileDiff } from "./components/FileDiff.js";
import { queueRender } from "./managers/UniversalRenderingManager.js";
import { ShikiStreamTokenizer } from "./shiki-stream/tokenizer.js";
import { CodeToTokenTransformStream } from "./shiki-stream/stream.js";
import { createSpanFromToken } from "./utils/createSpanNodeFromToken.js";
import { FileStream } from "./components/FileStream.js";
import { VirtualizedFile } from "./components/VirtualizedFile.js";
import { VirtualizedFileDiff } from "./components/VirtualizedFileDiff.js";
import { areVirtualWindowSpecsEqual } from "./utils/areVirtualWindowSpecsEqual.js";
import { createWindowFromScrollPosition } from "./utils/createWindowFromScrollPosition.js";
import { Virtualizer } from "./components/Virtualizer.js";
import { getResolvedLanguages } from "./highlighter/languages/getResolvedLanguages.js";
import { hasResolvedLanguages } from "./highlighter/languages/hasResolvedLanguages.js";
import { registerCustomLanguage } from "./highlighter/languages/registerCustomLanguage.js";
import { resolveLanguages } from "./highlighter/languages/resolveLanguages.js";
import { getResolvedThemes } from "./highlighter/themes/getResolvedThemes.js";
import { registerCustomCSSVariableTheme } from "./highlighter/themes/registerCustomCSSVariableTheme.js";
import { resolveThemes } from "./highlighter/themes/resolveThemes.js";
import { areObjectsEqual } from "./utils/areObjectsEqual.js";
import { areOptionsEqual } from "./utils/areOptionsEqual.js";
import { areWorkerStatsEqual } from "./utils/areWorkerStatsEqual.js";
import { createRowNodes } from "./utils/createRowNodes.js";
import { createStyleElement } from "./utils/createStyleElement.js";
import { diffAcceptRejectHunk } from "./utils/diffAcceptRejectHunk.js";
import { getLineEndingType } from "./utils/getLineEndingType.js";
import { getSingularPatch } from "./utils/getSingularPatch.js";
import { setLanguageOverride } from "./utils/setLanguageOverride.js";
import { trimPatchContext } from "./utils/trimPatchContext.js";
import { codeToHtml, createCssVariablesTheme as createCSSVariablesTheme } from "shiki";

export { ALTERNATE_FILE_NAMES_GIT, AttachedLanguages, AttachedThemes, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_EXTENSION_TO_FILE_FORMAT, CodeToTokenTransformStream, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_THEMES, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_TAG_NAME, DiffHunksRenderer, EXTENSION_TO_FILE_FORMAT, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, File, FileDiff, FileRenderer, FileStream, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, LineSelectionManager, MouseEventManager, RegisteredCustomLanguages, RegisteredCustomThemes, ResizeManager, ResolvedLanguages, ResolvedThemes, ResolvingLanguages, ResolvingThemes, SPLIT_WITH_NEWLINES, SVGSpriteSheet, ScrollSyncManager, ShikiStreamTokenizer, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE, VirtualizedFile, VirtualizedFileDiff, Virtualizer, areDiffLineAnnotationsEqual, areFilesEqual, areHunkDataEqual, areLanguagesAttached, areLineAnnotationsEqual, areObjectsEqual, areOptionsEqual, arePrePropertiesEqual, areRenderRangesEqual, areSelectionsEqual, areThemesAttached, areThemesEqual, areVirtualWindowSpecsEqual, areWorkerStatsEqual, attachResolvedLanguages, attachResolvedThemes, cleanLastNewline, cleanUpResolvedLanguages, cleanUpResolvedThemes, codeToHtml, createAnnotationElement, createAnnotationWrapperNode, createCSSVariablesTheme, createDiffSpanDecoration, createEmptyRowBuffer, createFileHeaderElement, createGutterGap, createGutterItem, createGutterWrapper, createHastElement, createHoverContentNode, createIconElement, createNoNewlineElement, createPreElement, createPreWrapperProperties, createRowNodes, createSeparator, createSpanFromToken, createStyleElement, createTextNodeElement, createTransformerWithState, createUnsafeCSSStyleNode, createWindowFromScrollPosition, diffAcceptRejectHunk, disposeHighlighter, extendFileFormatMap, findCodeElement, formatCSSVariablePrefix, getFiletypeFromFileName, getHighlighterIfLoaded, getHighlighterOptions, getHighlighterThemeStyles, getHunkSeparatorSlotName, getIconForType, getLineAnnotationName, getLineEndingType, getLineNodes, getOrCreateCodeNode, getResolvedLanguages, getResolvedOrResolveLanguage, getResolvedOrResolveTheme, getResolvedThemes, getSharedHighlighter, getSingularPatch, getThemes, getTotalLineCountFromHunks, hasResolvedLanguages, hasResolvedThemes, isDefaultRenderRange, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, isWorkerContext, parseDiffFromFile, parseLineType, parsePatchFiles, pluckLineSelectionOptions, pluckMouseEventOptions, preloadHighlighter, prerenderHTMLIfNecessary, processFile, processLine, processPatch, pushOrJoinSpan, queueRender, registerCustomCSSVariableTheme, registerCustomLanguage, registerCustomTheme, renderDiffWithHighlighter, renderFileWithHighlighter, resolveLanguage, resolveLanguages, resolveTheme, resolveThemes, setLanguageOverride, setPreNodeProperties, trimPatchContext, wrapCoreCSS, wrapUnsafeCSS };