import * as React from "react";
import { WrapperProps } from "./AppWrapper";
import { Dispatcher, FunctionKeys, ModuleManager } from "@nu-art/ts-common";
export declare class UIDispatcher<T extends object, K extends FunctionKeys<T>> extends Dispatcher<T, K> {
    constructor(method: K);
}
export declare class Thunder_Class extends ModuleManager {
    private mainApp;
    private listeners;
    constructor();
    listenersResolver: () => any[];
    protected addUIListener(listener: any): void;
    protected removeUIListener(listener: any): void;
    setMainApp(mainApp: React.ElementType<WrapperProps>): Thunder_Class;
    getMainApp(): React.ElementType<WrapperProps>;
    createUIDispatcher: <T extends object, K_1 extends { [K in keyof T]: T[K] extends Function ? K : never; }[keyof T] = { [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]>(method: K_1) => UIDispatcher<T, K_1>;
}
export declare const Thunder: Thunder_Class;
