import { IAction, IState } from "@etsoo/appscript";
import React from "react";
import { IProviderProps, IUICreator, IUpdate } from "./IState";
/**
 * State
 */
export declare class State {
    /**
     * Generic to create state context and provider
     * @param reducer Reduce function
     * @param initState Init state
     * @param uiCreator Additional UI creator
     */
    static create<S extends IState, A extends IAction, U extends IUpdate<S, A>, P extends IProviderProps<A>>(reducer: React.Reducer<S, A>, initState: S, calls: U, uiCreator?: IUICreator<S, A, P>): {
        context: React.Context<U>;
        provider: React.FunctionComponent<React.PropsWithChildren<P>>;
    };
}
