import { IAppStatus, IAppStatusCN, MustardName } from '@typings';
import { TDataChangeCallback, TLifeCallback, BindMethod, TCallback, getEventLifeKeyByValue, getEventBindKey, getEventDataChangeKey, getEventDataKey, getEventGlobalDataChangeKey, getEventGlobalLifeKeyByValue, getEventLifeKeyByKey } from './base';
export { getEventLifeKeyByValue, getEventBindKey, getEventDataChangeKey, getEventDataKey, getEventGlobalDataChangeKey, getEventGlobalLifeKeyByValue, getEventLifeKeyByKey };
export declare function setGlobalEvents(options: Partial<Record<IAppStatusCN, TLifeCallback>> | Partial<Record<'dataChange', TDataChangeCallback>>): void;
export declare function globalDataChangeDispatch(name: MustardName, data: unknown): void;
export declare function globalLifeDispatch(key: IAppStatusCN, name: MustardName): void;
export declare class EventCenterBaseApp {
    /**
     * 向子应用发送data数据
     * @param name 子应用名字
     * @param data 发送数据
     */
    dispatch(name: MustardName, data: unknown): void;
    /**
     * 订阅props修改事件
     * @param name 子应用名字
     * @param fn 事件
     */
    onData(name: MustardName, fn: TCallback): void;
    /**
     * 订阅生命事件
     * @param name 子应用名字
     * @param life 生命周期映射
     * @param fn 事件
     */
    onLife(name: MustardName, life: IAppStatusCN, fn: TCallback): void;
    /**
     * 订阅自定义事件
     * @param name 子应用名字
     * @param method 自定义方法名
     * @param fn 事件
     */
    onCustomize(name: MustardName, method: BindMethod, fn: TCallback): void;
    /**
     * 取消订阅生命事件
     * @param name 子应用名字
     * @param fn 事件
     */
    offData(name: MustardName, fn: TCallback): void;
    /**
     * 取消订阅生命事件
     * @param name 子应用名字
     * @param life 生命周期映射
     * @param fn 事件
     */
    offLife(name: MustardName, life: IAppStatusCN, fn: TCallback): void;
    /**
     * 取消订阅自定义事件
     * @param name 子应用名字
     * @param method 自定义方法名
     * @param fn 事件
     */
    offCustomize(name: MustardName, method: BindMethod, fn: TCallback): void;
}
export declare class EventCenterMicroApp {
    name: MustardName;
    constructor(name: MustardName);
    addDataListener(fn: TCallback): void;
    removeDataListener(fn: TCallback): void;
    clearDateListener(): void;
    /**
     * 发送data数据修改事件
     * @param data 发送数据
     */
    dispatch(data: unknown): void;
    /**
     * 发送自定义事件
     * @param method
     */
    dispatchCustomize(method: BindMethod, data: unknown): void;
}
export declare class EventCenterMicorLife {
    private name;
    constructor(name: MustardName);
    /**
     * 发送生命周期
     * @param state 子应用的生命周期
     */
    dispatchLife(state: IAppStatus): void;
}
