UNPKG

stencil-quantum

Version:

Experience the quantum realm of stencil.

20 lines (19 loc) 1.15 kB
import { QuantumSchema } from "./schema"; import { QuantumKeys } from "./keys"; import { ReactDecorator, ProvideDecorator, ContextDecorator, ObserveDecorator } from "../context"; import { ImplementDecorator } from "../context/implement"; export interface EntangleOptions { namespace?: string; } export declare class Entanglement<T extends QuantumSchema> { keys: QuantumKeys<T>; static uid: number; constructor(schema: T, opts?: EntangleOptions); get<K extends keyof QuantumKeys<T>>(key: K): QuantumKeys<T>[K]; Provide<K extends keyof QuantumKeys<T>>(key: K): ProvideDecorator<Entanglement<T>, K>; Context<K extends keyof QuantumKeys<T>>(key: K): ContextDecorator<Entanglement<T>, K>; Observe<K extends keyof QuantumKeys<T>>(key: K): ObserveDecorator<Entanglement<T>, K>; React<K extends keyof QuantumKeys<T>, Q extends Entanglement<any>, QK extends keyof Q["keys"]>(key: K, target: Q, targetKey: QK): ReactDecorator<Entanglement<T>, K, Q, QK>; Implement<K extends keyof QuantumKeys<T>>(key: K): ImplementDecorator<Entanglement<T>, K>; Action<K extends keyof QuantumKeys<T>>(key: K): ContextDecorator<Entanglement<T>, K>; }