@github/catalyst
Version:
Helpers for creating HTML Elements as Controllers
19 lines • 1.24 kB
TypeScript
import type { CustomElementClass, CustomElement } from './custom-element.js';
export interface Context<T> {
name: PropertyKey;
initialValue?: T;
}
export declare type ContextCallback<ValueType> = (value: ValueType, dispose?: () => void) => void;
export declare type ContextType<T extends Context<unknown>> = T extends Context<infer Y> ? Y : never;
export declare class ContextEvent<T extends Context<unknown>> extends Event {
readonly context: T;
readonly callback: ContextCallback<ContextType<T>>;
readonly multiple?: boolean | undefined;
constructor(context: T, callback: ContextCallback<ContextType<T>>, multiple?: boolean | undefined);
}
declare const provide: import("./mark.js").PropertyDecorator, getProvide: (instance: CustomElement) => Set<PropertyKey>;
declare const provideAsync: import("./mark.js").PropertyDecorator, getProvideAsync: (instance: CustomElement) => Set<PropertyKey>;
declare const consume: import("./mark.js").PropertyDecorator, getConsume: (instance: CustomElement) => Set<PropertyKey>;
export { consume, provide, provideAsync, getProvide, getProvideAsync, getConsume };
export declare const providable: <T extends CustomElementClass>(Class: T) => T;
//# sourceMappingURL=providable.d.ts.map