export declare class Emitter {
    private listenerMap;
    private logger;
    constructor(logger: (message: string) => void);
    log(message: string): void;
    on(event: string, callback: any): () => void;
    off(event: string, callback: any): void;
    /**
      * 因为 setMode 会在 onShow 之前执行，所以需要缓存 onShow 事件
      * 否则当 onShow 开始监听时, 事件可能已经触发过了, 导致无法监听到事件
      */
    emit(event: string, ...payload: any[]): void;
    cleanup(): void;
}
declare type NoticeInfo = {
    noticeKey: string;
};
declare type Callback = (info: NoticeInfo) => void;
/**
  * 一个高阶函数, 调用后返回 setModeWithQueue 函数
  * 这个高阶函数每次调用都会取消监听 noticeShow/noticeHide 事件, 再重新进行监听
  */
export declare const getSetModeWithQueueFn: () => (params: {
    mode: string;
    onShow?: ((param?: NoticeInfo | undefined) => void) | undefined;
    onNoticeHide?: Callback | undefined;
}) => Promise<hyExt.SetModeRsp | undefined>;
export {};
