export interface IRouter {
    path: string | RegExp;
    props?: any;
    component?: string;
}
export interface IDeclareConnect {
    mapStateToProps?: Function;
    mapDispatchToProps?: Function;
}
export interface IDeclareI18nData {
    en?: object;
    zh?: object;
}
export interface IDeclareI18n {
    locale?: string;
    data?: IDeclareI18nData | any;
    key?: string;
}
export interface ITemplateConfig {
    url?: string;
    isEndPoint?: boolean;
    fromLoader?: boolean;
    htmlCode?: any;
    timeout?: number;
    ajaxType?: "GET" | "POST";
}
export interface IDeclareComponent {
    selector: string;
    component: Function;
}
export interface IDeclareComponentOptions {
    selector: string;
    service?: object;
    model?: object;
    template?: ITemplateConfig;
    connect?: IDeclareConnect;
    components?: IDeclareComponent[];
    i18n?: IDeclareI18n;
    withRouter?: boolean;
}
export declare type TypeDefineContextListener = {
    listenId: string;
    callBack: Function;
};
export declare type TypeDefineContextData<T> = {
    listener: TypeDefineContextListener;
    storeData: T;
};
