import React from "react"; type CreateStrictContextArgs = { /** The display name of the context. */ name?: string; /** Error message to log if context is accessed outside its provider. */ errorMessage: string; /** Default value to return if context is accessed outside its provider. */ defaultValue: ContextType; }; type CreateStrictContextReturn = readonly [ React.Provider, () => ContextType ]; /** * Creates a React context with a provider and a hook for accessing the context. * Logs an error and returns a default value if the hook is used outside of the provider. * * @example * * ```tsx * const [ListProvider, useList] = createStrictContext<{ size: number }>({ * name: "ListContext", * errorMessage: "ListContext is undefined. Make sure to wrap your component with ", * defaultValue: { * size: 0, * }, * }); * ``` */ declare function createStrictContext({ name, errorMessage, defaultValue, }: CreateStrictContextArgs): CreateStrictContextReturn; export default createStrictContext;