import { lmount } from 'lithent'; declare const INJECT: unique symbol; declare const ADDRENEW: unique symbol; export type ContextState = { value: T; [INJECT]: (value: T) => void; [ADDRENEW]: (renewFn: (newValue: T) => boolean) => boolean; }; export type ProviderProps = T extends Record ? { [K in keyof T]: ContextState; } : never; export type LContext = { Provider: ReturnType>>; contextState: (value?: V) => ContextState; useContext: (context: LContext, subscribeKeys?: string[]) => T extends Record ? ProviderProps : ContextState; }; export declare function createLContext(): LContext; export {};