import { IABBTimedPromise, IABBCoreAPI, IABBStore, IABBPreloadedState, IABBPluginReducer, IABBPluginAction, IABBPlugin, IABBPluginActionCreator, IABBInitStateAction } from "../../..";
import { AnyAction, Reducer } from 'redux';
import { ThunkAction } from "redux-thunk";
export declare class ABBCoreAPI implements IABBCoreAPI {
    readonly coreIsInitializedPromise: IABBTimedPromise;
    readonly routerIsInitializedPromise: IABBTimedPromise;
    readonly translatorIsInitializedPromise: IABBTimedPromise;
    private _store;
    readonly Store: IABBStore;
    constructor();
    static initState(reducer: Reducer, action: IABBInitStateAction, state: object): object;
    static executeReducer(reducer: Reducer, reducerState: object, action: AnyAction, state: object): object;
    static createPluginReducer(): IABBPluginReducer;
    static getPreloadedState(): IABBPreloadedState;
    static initStateAction(actionCreator: IABBPluginActionCreator): ThunkAction<void, {}, {}, IABBInitStateAction>;
    static addPluginAction(name: string, instancePromise: Promise<IABBPlugin>, actionCreator?: IABBPluginActionCreator): ThunkAction<void, any, any, IABBPluginAction>;
}
