///
import { Dispatch } from "react-redux";
import * as React from "react";
import { AnyAction } from "redux";
import { State } from "../store/store";
import { LanguageSelector, GenericLanguageSelector, Language } from "./localization";
import { MiddlewareCall } from "./middlewareTypes";
import * as stl from "../store/types";
import Module from "../helpers/moduleInterface";
import silence from "../helpers/silence";
export declare type StateMappingsWithModuleState = ((state: State & {
module: ModuleState;
}, props: ParentProps & EnhancedPropsPrivate) => object);
export declare type StateMappings = StateMappingsWithModuleState;
export declare type DispatchMappings = ((dispatch: Dispatch, props: ParentProps & EnhancedPropsPrivate) => object);
export declare type LookupLite = (selector: LanguageSelector) => any;
export interface LookupProps {
cl?: LookupLite;
language?: string;
mountedAt?: Date;
}
export interface ModuleProps {
module?: Module;
}
export interface RouterProps {
match: {
isExact: boolean;
params: any;
path: string;
url: string;
};
history: any;
}
export declare type EnhancedPropsPrivate = LookupProps & ModuleProps & RouterProps;
export declare type EnhancedPropsPublic = ModuleProps;
export interface State extends State {
}
export declare type ActionOrCall = AnyAction | MiddlewareCall;
export declare type Dispatch = (actionOrCall: ActionOrCall) => void;
export { LanguageSelector, stl, silence, GenericLanguageSelector, Language };
export interface EnhanceOptions {
formName?: string;
stateMappings?: StateMappingsWithModuleState;
dispatchMappings?: DispatchMappings;
}
export declare function enhance(Component: React.ComponentType, options?: EnhanceOptions): React.ComponentType;