import { Container } from "./container.js"; import { AnyPlayerFeature, AudioFeatures, AudioPlayerStore, PlayerStore, VideoFeatures, VideoPlayerStore } from "@videojs/core/dom"; import { Media } from "@videojs/media/dom"; import { InferStoreState } from "@videojs/store"; import { FC, ReactNode } from "react"; //#region src/player/create-player.d.ts interface CreatePlayerConfig { features: Features; displayName?: string; } interface ProviderProps { children: ReactNode; } interface CreatePlayerResult { Provider: FC; Container: typeof Container; usePlayer: UsePlayerHook; useMedia: () => Media | null; } type UsePlayerHook = { (): Store; (selector: (state: InferStoreState) => R): R; }; /** * Create a player instance with typed store, Provider component, Container, and hooks. * * @label Video * @param config - Player configuration with features and optional display name. */ declare function createPlayer(config: CreatePlayerConfig): CreatePlayerResult; /** * Create a player for audio media. * * @label Audio * @param config - Player configuration with features and optional display name. */ declare function createPlayer(config: CreatePlayerConfig): CreatePlayerResult; /** * Create a player with custom features. * * @label Generic * @param config - Player configuration with features and optional display name. */ declare function createPlayer(config: CreatePlayerConfig): CreatePlayerResult>; //#endregion export { CreatePlayerConfig, CreatePlayerResult, ProviderProps, UsePlayerHook, createPlayer }; //# sourceMappingURL=create-player.d.ts.map