import { PlayerContext } from "../player/context.js";
import { MediaElementConstructor } from "../ui/media-element.js";
import { PlayerConsumerConstructor } from "./types.js";
import { PlayerStore } from "@videojs/core/dom";

//#region src/store/container-mixin.d.ts
type ContainerMixin<Store extends PlayerStore> = <Class extends MediaElementConstructor>(BaseClass: Class) => Class & PlayerConsumerConstructor<Store>;
/**
 * Create a mixin that consumes player context and auto-attaches media elements.
 *
 * @param context - Player context to consume from an ancestor provider.
 */
declare function createContainerMixin<Store extends PlayerStore>(context: PlayerContext<Store>): ContainerMixin<Store>;
//#endregion
export { ContainerMixin, createContainerMixin };
//# sourceMappingURL=container-mixin.d.ts.map