import { EventHandleMap, EventKey, HandlerResMap, type MessageHandler, type MessageSentHandler, type MetaEventHandler, type NoticeHandler, type RequestHandler, type WSReceiveHandler } from './Interfaces.js';
import type { NCWebsocketBase } from './NCWebsocketBase.js';
export declare class NCEventBus {
    #private;
    constructor(ws: NCWebsocketBase);
    on<T extends EventKey>(event: T, handler: EventHandleMap[T]): this;
    off<T extends EventKey>(event: T, handler: EventHandleMap[T]): this;
    once<T extends EventKey>(event: T, handler: EventHandleMap[T]): this;
    emit<T extends EventKey>(event: T, context: HandlerResMap[T]): boolean;
    parseMessage(json: WSReceiveHandler[keyof WSReceiveHandler]): boolean;
    meta_event(json: MetaEventHandler[keyof MetaEventHandler]): boolean;
    life_cycle(json: MetaEventHandler['meta_event.lifecycle']): boolean;
    message(json: MessageHandler[keyof MessageHandler]): boolean;
    message_private(json: MessageHandler['message.private']): boolean;
    message_group(json: MessageHandler['message.group']): boolean;
    message_sent(json: MessageSentHandler[keyof MessageSentHandler]): boolean;
    message_sent_private(json: MessageSentHandler['message_sent.private']): boolean;
    message_sent_group(json: MessageSentHandler['message_sent.group']): boolean;
    request(json: RequestHandler[keyof RequestHandler]): boolean;
    request_group(json: RequestHandler['request.group']): boolean;
    notice(json: NoticeHandler[keyof NoticeHandler]): boolean;
    notice_group_admin(json: NoticeHandler['notice.group_admin']): boolean;
    notice_group_ban(json: NoticeHandler['notice.group_ban']): boolean;
    notice_group_decrease(json: NoticeHandler['notice.group_decrease']): boolean;
    notice_group_increase(json: NoticeHandler['notice.group_increase']): boolean;
    notice_essence(json: NoticeHandler['notice.essence']): boolean;
    notice_notify(json: NoticeHandler['notice.notify']): boolean;
}
//# sourceMappingURL=NCEventBus.d.ts.map