/** * StreamCrafter React * React hooks and components for browser-based streaming */ // Components (self-contained, like Player) export { StreamCrafter, default as StreamCrafterComponent, type StreamCrafterProps, } from "./components/StreamCrafter"; // Composable sub-components (use inside with children) export { StudioPreview, type StudioPreviewProps } from "./components/StudioPreview"; export { StudioMixer, type StudioMixerProps } from "./components/StudioMixer"; export { StudioActionBar, type StudioActionBarProps } from "./components/StudioActionBar"; export { StudioSettings, type StudioSettingsProps } from "./components/StudioSettings"; export { StudioStatusBadge, type StudioStatusBadgeProps } from "./components/StudioStatusBadge"; // Compositor components export { SceneSwitcher, type SceneSwitcherProps } from "./components/SceneSwitcher"; export { LayerList, type LayerListProps } from "./components/LayerList"; export { CompositorControls, type CompositorControlsProps } from "./components/CompositorControls"; // Hooks export { useDevices, type UseDevicesReturn } from "./hooks/useDevices"; export { useScreenCapture, type UseScreenCaptureReturn } from "./hooks/useScreenCapture"; export { useStreamStats, type UseStreamStatsOptions, type UseStreamStatsReturn, } from "./hooks/useStreamStats"; // Primary hook exports export { useStreamCrafterV2 as useStreamCrafter, type UseStreamCrafterV2Options as UseStreamCrafterOptions, type UseStreamCrafterV2Return as UseStreamCrafterReturn, } from "./hooks/useStreamCrafterV2"; export { useStreamCrafterV2, type UseStreamCrafterV2Options, type UseStreamCrafterV2Return, } from "./hooks/useStreamCrafterV2"; // Named export for direct imports // Audio Hooks export { useAudioLevels, type UseAudioLevelsOptions, type UseAudioLevelsReturn, type AudioLevels, } from "./hooks/useAudioLevels"; // Compositor hook export { useCompositor, type UseCompositorOptions, type UseCompositorReturn, } from "./hooks/useCompositor"; // Gateway integration hook export { useIngestEndpoints, type UseIngestEndpointsOptions, type UseIngestEndpointsResult, } from "./hooks/useIngestEndpoints"; // Context export { StreamCrafterProvider, useStreamCrafterContext, useStreamCrafterContextOptional, type StreamCrafterProviderProps, } from "./context/StreamCrafterContext"; // Re-export types from core export type { IngestState, IngestStateContext, IngestStateContextV2, IngestStats, CaptureOptions, ScreenCaptureOptions, DeviceInfo, QualityProfile, WhipConnectionState, MediaSource, SourceType, ReconnectionState, ReconnectionConfig, // Compositor types Scene, Layer, LayerTransform, LayoutConfig, LayoutMode, TransitionConfig, TransitionType, RendererType, RendererStats, CompositorConfig, // Ingest endpoint types IngestEndpoint, IngestEndpoints, IngestMetadata, IngestClientConfig, IngestClientStatus, } from "@livepeer-frameworks/streamcrafter-core"; // Re-export IngestClient from core for direct usage export { IngestClient } from "@livepeer-frameworks/streamcrafter-core";