UNPKG

nexwidget

Version:

An ESNext Web Component library.

36 lines (35 loc) 1.24 kB
import { Constructor, Nexwidget } from '../nexwidget.js'; export interface NexwidgetDependencyKeyMap {} declare type DependencyRequestEventDetails< K extends keyof NexwidgetDependencyKeyMap, > = { readonly key: K; value?: NexwidgetDependencyKeyMap[K]; }; declare type DependencyRequestEvent<K extends keyof NexwidgetDependencyKeyMap> = CustomEvent<DependencyRequestEventDetails<K>>; declare global { interface HTMLElementEventMap { 'dependency-request': DependencyRequestEvent< keyof NexwidgetDependencyKeyMap >; } } export declare class WithDependencyConsumerInterface { requestDependency<K extends keyof NexwidgetDependencyKeyMap>( key: K, ): NexwidgetDependencyKeyMap[K]; } export declare const WithDependencyConsumer: <T extends Constructor<Nexwidget>>( Base: T, ) => Constructor<WithDependencyConsumerInterface> & T; export declare class WithDependencyProviderInterface { provideDependency<K extends keyof NexwidgetDependencyKeyMap>( key: K, value: NexwidgetDependencyKeyMap[K], ): void; } export declare const WithDependencyProvider: <T extends Constructor<Nexwidget>>( Base: T, ) => Constructor<WithDependencyProviderInterface> & T; export {};