stencil-quantum
Version:
Experience the quantum realm of stencil.
18 lines (17 loc) • 1.1 kB
TypeScript
import { Entanglement, ContextType } from "../quantum";
export interface BaseComponentPrototype {
componentWillLoad?: (...args: any[]) => Promise<void> | void;
componentDidLoad?: (...args: any[]) => Promise<void> | void;
componentDidUnload?: (...args: any[]) => Promise<void> | void;
connectedCallback?: (...args: any[]) => Promise<void> | void;
disconnectedCallback?: (...args: any[]) => Promise<void> | void;
}
export declare type TypedContextPrototype<T extends Entanglement<any>, K extends keyof T["keys"], P extends string> = BaseComponentPrototype & {
[L in P]: ContextType<T, K>;
};
export declare type TypedObservePrototype<T extends Entanglement<any>, K extends keyof T["keys"], P extends string> = BaseComponentPrototype & {
[L in P]: (val: ContextType<T, K>) => any;
};
export declare type TypedReactPrototype<T1 extends Entanglement<any>, K1 extends keyof T1["keys"], T2 extends Entanglement<any>, K2 extends keyof T2["keys"], P extends string> = BaseComponentPrototype & {
[L in P]: (val: ContextType<T1, K1>) => ContextType<T2, K2> | Promise<ContextType<T2, K2>>;
};