import React from "react";
export declare const DataContext: React.Context<{}>;
export declare const InternalContext: React.Context<{
    requests: any[];
    resolved: boolean;
    current: number;
}>;
import { DependencyList, Props } from "react";
interface IDataContext {
    [k: string]: any;
}
declare global {
    interface Window {
        [k: string]: any;
        _initialDataContext: object;
    }
}
/**
 *
 * @param effect runction returning promise
 * @param dependencies  list of dependencies like in useEffect
 */
export declare function useSSE<T>(effect: () => Promise<any>, dependencies?: DependencyList): T[];
export declare const createBroswerContext: (variableName?: string) => <T>(props: React.Props<T>) => JSX.Element;
export declare const createServerContext: () => {
    ServerDataContext: <T>(props: React.Props<T>) => JSX.Element;
    resolveData: (timeout?: number) => Promise<{
        data: IDataContext;
        toJSON: () => any;
        toHtml: (variableName?: string) => string;
    }>;
};
export {};
