import { Atomico } from "./dom.js"; import { Ref } from "./hooks.js"; export type DispatchConnectContext = (detail: DetailConnectContext) => any; export type DetailConnectContext = { id: Context; connect(value: Ref): void; }; export type Context = Atomico< { value: Value; }, { value: Value; }, HTMLElement >; export type GetValueFromContext> = InstanceType["value"]; export type CreateContext = (value: Value) => Context; export type UseContext = >( context: AtomicoContext ) => GetValueFromContext; export type UseProvider = >( id: CustomContext, value: GetValueFromContext ) => void; export type ReturnUseConsumer = Value; export type UseConsumer = (id: Context) => any; export const useContext: UseContext; export const useProvider: UseProvider; export const createContext: CreateContext;