import type React from "react";
import { type StoreApi } from "zustand";
type ZustandStore<T> = StoreApi<T>;
export default function createContext<T = any>(initialData: any): {
    Context: React.Context<any>;
    Provider: ({ children, value }: {
        children: React.ReactNode;
        value: T;
    }) => import("react/jsx-runtime").JSX.Element;
    useContextSelector: <T_1 = any, K = any>(selector: (s: T_1) => K) => any;
};
export declare function createContextWithStore<T>(): {
    Provider: ({ children, createStore, }: {
        children: React.ReactNode;
        createStore: (set: StoreApi<T>["setState"], get: StoreApi<T>["getState"], api: StoreApi<T>) => T;
    }) => import("react/jsx-runtime").JSX.Element;
    useStore: (selector?: any) => any;
    Context: React.Context<any>;
};
export declare function useContextSelector<T = any, K = any>(context: any, selector: (s: T) => K): any;
export declare function createProvider<T>(Context: React.Context<ZustandStore<T> | null>): ({ value, children }: {
    value: T;
    children: React.ReactNode;
}) => import("react/jsx-runtime").JSX.Element;
export {};
