import { UIElement } from "./ui-element.js"; import { StateAttrMap } from "@videojs/core"; import { PropertyValues } from "@videojs/element"; //#region src/ui/context-part-element.d.ts /** Shape that compound context values must satisfy for parts to consume. */ interface PartContextValue { state: State; stateAttrMap: StateAttrMap; } /** * Abstract base for compound-component part elements that consume a parent context and apply data attributes from * `ctx.state` + `ctx.stateAttrMap`. * * Subclasses only need to declare the `consumer` property: * * ```ts * export class SliderTrackElement extends ContextPartElement { * static readonly tagName = 'media-slider-track'; * protected readonly consumer = new ContextConsumer(this, { context: sliderContext, subscribe: true }); * } * ``` */ declare abstract class ContextPartElement extends UIElement { #private; protected abstract readonly consumer: { value?: PartContextValue | undefined; }; connectedCallback(): void; protected update(_changed: PropertyValues): void; } //#endregion export { ContextPartElement, PartContextValue }; //# sourceMappingURL=context-part-element.d.ts.map