import { VendorContext } from '../../../vendor/use-context-selector'; export declare const REQUIRED_CONTEXT_MISSING: unique symbol; declare type RequiredContext = VendorContext; export declare const createRequiredContext: (defaultValue?: T | typeof REQUIRED_CONTEXT_MISSING) => RequiredContext; export declare const useRequiredContext: (context: RequiredContext) => T; export declare const useRequiredContextSelector: (context: RequiredContext, fn: (value: T) => U) => U; declare type ImmutableRefObject = Readonly<{ current: T; }>; /** * Prefer this over `useRequiredContext` when you want to expressedly avoid re-renders as a result * of data updating. This will _never_ trigger a re-render. */ export declare const useRequiredContextRef: (context: RequiredContext) => Readonly<{ current: T; }>; export {};