import React from 'react';
import { ApiClientConfig, Application, Middleware } from './types';
export type ReactComponent<P> = React.FunctionComponent<P> | React.ComponentClass<P>;
export interface Context {
    appBridgeMiddleware: Middleware;
}
export interface DispatchToProps {
    (app: Application): any;
}
export interface WithAppProps<Store> {
    app: Application;
    store: Store;
}
export interface RequiredProps {
    config: ApiClientConfig;
}
export interface State {
    mounted: boolean;
}
export type StoreToProps<Store> = (obj: any) => Store;
export declare function withApp<Store>(storeToProps?: StoreToProps<Store>, dispatchToProps?: DispatchToProps): <OwnProps>(WrappedComponent: ReactComponent<OwnProps>) => React.ComponentClass<OwnProps & RequiredProps & WithAppProps<Store>>;
