/**
 * 发布订阅模块
 * 用于组件/服务间的事件通信
 */
type EventCallback = (...args: any[]) => void;
interface EventSubscription {
    unsubscribe: () => void;
}
declare class PubSub {
    private events;
    /**
     * 订阅事件
     * @param event 事件名称
     * @param callback 回调函数
     * @returns 订阅对象，可用于取消订阅
     */
    subscribe(event: string, callback: EventCallback): EventSubscription;
    /**
     * 取消订阅事件
     * @param event 事件名称
     * @param callback 回调函数
     * @returns 是否成功取消订阅
     */
    unsubscribe(event: string, callback: EventCallback): boolean;
    /**
     * 发布事件
     * @param event 事件名称
     * @param args 事件参数
     */
    publish(event: string, ...args: any[]): void;
    /**
     * 移除某个事件的所有订阅
     * @param event 事件名称
     * @returns 是否成功移除
     */
    clearEvent(event: string): boolean;
    /**
     * 移除所有事件订阅
     */
    clearAllEvents(): void;
    /**
     * 获取事件的订阅数量
     * @param event 事件名称
     * @returns 订阅数量
     */
    getSubscriberCount(event: string): number;
    /**
     * 检查事件是否有订阅者
     * @param event 事件名称
     * @returns 是否有订阅者
     */
    hasSubscribers(event: string): boolean;
    /**
     * 一次性订阅事件，事件触发后自动取消订阅
     * @param event 事件名称
     * @param callback 回调函数
     * @returns 订阅对象，可用于取消订阅
     */
    once(event: string, callback: EventCallback): EventSubscription;
}
declare const pubsub: PubSub;
export default pubsub;
export { PubSub, type EventCallback, type EventSubscription };
