UNPKG

haunted

Version:
21 lines (20 loc) 629 B
import { ComponentConstructor, ComponentCreator } from "./component"; interface ConsumerProps<T> { render: (value: T) => unknown; } interface Creator { <T>(defaultValue: T): Context<T>; } interface Context<T> { Provider: ComponentConstructor<{}>; Consumer: ComponentConstructor<ConsumerProps<T>>; defaultValue: T; } interface ContextDetail<T> { Context: Context<T>; callback: (value: T) => void; value: T; unsubscribe?: (this: Context<T>) => void; } declare function makeContext(component: ComponentCreator): Creator; export { makeContext, Creator as ContextCreator, Context, ContextDetail };