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