/**
 * @nice2dev/ui-graphics — Public API
 *
 * Tree-shakeable exports. Import only what you need:
 *   import { PixelEditor } from '@nice2dev/ui-graphics';
 *   import { NiceI18nProvider } from '@nice2dev/ui-graphics';
 */
export { PixelEditor, type PixelEditorProps } from './pixel/PixelEditor';
export { VectorEditor, type VectorEditorProps } from './vector/VectorEditor';
export { default as PhotoEditor } from './photo/PhotoEditor';
export type { PhotoEditorProps } from './photo/photoEditorTypes';
export { AnimationEditor, type AnimationEditorProps } from './animation/AnimationEditor';
export { default as AnimatedPerson, type AnimatedPersonProps } from './animation/AnimatedPerson';
export { GameAsset2dEditor, type GameAsset2dEditorProps, useGameAssetEditor, type GameAssetEditorApi, } from './game';
export type { TileMap, TileLayer, TileDefinition, SpriteSheet, SpriteFrame, SpriteAnimation, AnimationStateMachine, AnimationState, AnimationTransition, GameAssetProject, Effect, EffectType, } from './game';
export { NiceI18nProvider, useNiceTranslation, type NiceTranslateFn, type NiceI18nProviderProps, } from './core/i18n';
export type { Layer, Tool as PixelTool, BlendMode } from './pixel/pixelEditorTypes';
export { ditherOrdered, ditherFloydSteinberg, ditherAtkinson, applyDithering, extractPalette, hexPaletteToRGBA, createReferenceOverlay, renderReferenceOverlay, type DitheringAlgorithm, type ReferenceOverlay, } from './pixel/pixelEditorUtils';
export { exportGIF, exportSpriteSheetAdvanced, } from './pixel/pixelEditorExports';
export type { VShape, VTool as VectorTool } from './vector/vectorEditorTypes';
export { booleanOperation, shapesOverlap, flattenToOutline, type BooleanOp, } from './vector/vectorBooleanOps';
export { PRESET_GRADIENTS, gradientToCSS, gradientToSVGDef, createLinearGradient, createRadialGradient, type Gradient, type LinearGradient, type RadialGradient, type GradientStop, } from './vector/vectorGradients';
export type { AdjustmentValues, FilterParams } from './photo/photoFilters';
export { magicWandSelect, lassoSelect, magneticLassoPoint, selectColorRange, applyHealingBrush, contentAwareFill, renderSelectionOutline, createEmptyMask, featherMask, invertMask, combineMasks, type SelectionMask, type MagicWandOptions, type HealingBrushOptions, type SelectionMode, } from './photo/photoSelection';
export type { CharacterConfig, FeatureConfig } from './animation/characterTypes';
export { VARIANTS, DEFAULT_CHARACTER, DEFAULT_COLORS, pick } from './animation/characterTypes';
export type { PersonPose, ChoreoStep as AnimChoreoStep } from './animation/animationHelper';
export { playPose, runChoreo, usePersonControls } from './animation/animationHelper';
export type { BoneKey, BoneSpec, RigConfig, RigPose, SolvedBone } from './animation/rig/rigTypes';
export { BONE_ORDER, DEFAULT_RIG, DEFAULT_POSE } from './animation/rig/rigTypes';
export { solveTwoBoneIK } from './animation/rig/ik';
export { deg2rad, lerpAngle, solveFK } from './animation/rig/rigMath';
export { blendPose, tweenPose, ease } from './animation/rig/poseOps';
export { RIG_SLIM, RIG_HERO, RIG_ROBOT, POSE_HAPPY, POSE_ANGRY, POSE_DANCE_A } from './animation/rig/presets';
export { default as RiggedBody } from './animation/rig/RiggedBody';
export { default as RigPlayer } from './animation/rig/RigPlayer';
export type { RigPlayerHandle } from './animation/rig/RigPlayer';
export { rigPoseFor, playRigFromChoreo } from './animation/rig/choreoRigBridge';
export { ChoreoBuilder, seq, compile, runSeq, runWave, runCannon, runRounds } from './animation/choreoDSL';
export { waveScoreChoreo, booChoreo, danceParty, showcaseAll } from './animation/choreography';
export { default as Audience } from './animation/Audience';
export type { AudienceProps } from './animation/Audience';
export { scoreBus, onScore, reactionForScore, playIntro, simulateScore, attachScoreReactions, } from './animation/karaokeIntegration';
export { BodyRenderer, default as BodyRendererDefault } from './animation/BodyRenderer';
export type { BodyRendererProps } from './animation/BodyRenderer';
export { Head, HEAD_RENDERERS } from './animation/shapes/heads';
export type { HeadProps } from './animation/shapes/heads';
export { Eyes, EYES_RENDERERS } from './animation/shapes/eyes';
export type { EyesProps } from './animation/shapes/eyes';
export { Nose, NOSE_RENDERERS } from './animation/shapes/noses';
export type { NoseProps } from './animation/shapes/noses';
export { Mouth, MOUTH_RENDERERS } from './animation/shapes/mouths';
export type { MouthProps } from './animation/shapes/mouths';
export { Hair, HAIR_RENDERERS } from './animation/shapes/hair';
export type { HairProps } from './animation/shapes/hair';
export { Outfit, OUTFIT_RENDERERS } from './animation/shapes/outfits';
export type { OutfitProps } from './animation/shapes/outfits';
export { Torso } from './animation/shapes/torsos';
export type { TorsoProps } from './animation/shapes/torsos';
export { Arm } from './animation/shapes/arms';
export type { ArmProps } from './animation/shapes/arms';
export { Leg } from './animation/shapes/legs';
export type { LegProps } from './animation/shapes/legs';
export { Headwear, HEADWEAR_RENDERERS } from './animation/shapes/headwear';
export type { HeadwearProps } from './animation/shapes/headwear';
export { createRagdoll, stepRagdoll, ragdollToPose, applyImpulse, createCloth, stepCloth, clothVertices, pinClothParticle, type PhysicsParticle, type DistanceConstraint, type RagdollConfig, type Ragdoll, type Cloth, } from './animation/physics';
export { evaluatePath, evaluatePathTangent, pathLength, arcLengthTable, distanceToT, createLinearPath, createCircularPath, createFigure8Path, evaluateMotionPathAnimation, PRESET_PATHS, type MotionPath, type BezierPoint, type MotionPathKeyframe, type MotionPathAnimation, } from './animation/motionPath';
export { exportToLottie, lottieToJSON, lottieToBlob, choreoToLottieKeyframes, } from './animation/lottieExport';
export { exportToSpine, spineToJSON, spineToBlob, } from './animation/spineExport';
export { PluginRegistry, NicePluginProvider, usePlugins, usePluginRegistry, type EditorPlugin, type PluginTool, type PluginFilter, type PluginExporter, type PluginPanel, type PluginMenuAction, } from './core/plugins';
export { useVisualHistory, VisualHistoryPanel, type HistoryEntry, type VisualHistoryApi, } from './core/historyVisual';
export { ShortcutRegistry, DEFAULT_SHORTCUTS, useShortcuts, eventToKeyCombo, type ShortcutDef, type ShortcutConfig, } from './core/shortcuts';
export { useDragDrop, DropZoneOverlay, type DragDropConfig, type DropResult, type DragDropState, type DropZoneOverlayProps, } from './core/dragDrop';
export { NiceRTLProvider, useRTL, useIsRTL, logicalStyles, rtlFlexDirection, detectDirection, type Direction, type RTLConfig, } from './core/rtl';
export { Minimap, useMinimap, type MinimapProps, type MinimapConfig, type ViewportRect, } from './core/minimap';
export { drawGrid, drawHorizontalRuler, drawVerticalRuler, drawGuides, snapToGrid, snapToGuides, snapToPixel, snapPoint, createGuide, addGuide, removeGuide, clearGuides, type GridConfig, type RulersConfig, type GuidesConfig, type Guide, type SnapResult, } from './core/gridGuides';
export { simulateColorBlindness, simulateColorBlindnessCopy, applyColorBlindnessFilter, simulateColor, colorBlindnessSvgFilter, COLOR_BLINDNESS_TYPES, type ColorBlindnessType, type ColorBlindnessInfo, } from './core/colorBlindness';
export { LIGHT_THEME, DARK_THEME, themeToCssVars, applyThemeToElement, systemPrefersDark, resolveThemeMode, NiceEditorThemeProvider, useEditorTheme, type EditorTheme, type ThemeMode, } from './core/theme';
export { NiceIconEditor, useIconEditor, type IconShape, type IconVariant, type IconEditorApi, } from './icon/NiceIconEditor';
export { NiceUIDesigner, useUIDesigner, exportToReact, type UINode, type UIDesignerApi, } from './ui/NiceUIDesigner';
export { Nice3DTexturePainter, useTexturePainter, type TextureLayer, type BrushSettings, type TexturePainterApi, } from './texture/Nice3DTexturePainter';
export { NiceFontEditor, useFontEditor, exportToSvgFont, type FontGlyph, type FontMetrics, type FontEditorApi, } from './font/NiceFontEditor';
export { UnsplashProvider, PexelsProvider, AdobeCCConnector, FigmaConnector, TemplateLibrary, generateAIImage, type StockImage, type StockImageSearchOptions, type FigmaImportResult, type FigmaNode, type AIGenerationOptions, type AIGenerationResult, type TemplateItem, type AdobeCCConfig, } from './core/integrations';
export { WebSocketTransport, VersionHistory, CommentManager, useCollaboration, useComments, useVersionHistory, type CollaborationUser, type CollaborationOperation, type CollaborationTransport, type CollaborationMessage, type Comment, type CommentReply, type VersionSnapshot, } from './core/collaboration';
export { setupRetinaCanvas, retinaMousePosition, virtualizeShapes, SpatialHashGrid, AnimationCleanup, type RetinaCanvasOptions, type VirtualBounds, type VirtualizedShape, } from './core/fixes';
