export type NekobasuEventHandler = (event: NekobasuEvent) => Promise<unknown>;
export interface NekobasuSub {
    subId: number;
    topicRe: RegExp;
    topicWildcard: string;
    eventHandler: NekobasuEventHandler;
}
export interface NekobasuEvent {
    topicName: string;
    payload: unknown;
    mut: Record<string, unknown>;
}
/**
 * Multicast
 *
 * Glossary:
 * subscription sub
 */
export declare class Nekobasu {
    #private;
    subscribe(topicWildcard: string, eventHandler: NekobasuEventHandler): number;
    dispatch(topicName: string, eventArgs: unknown): Promise<{
        topicName: string;
        payload: unknown;
        mut: {};
    }>;
    unsubscribe(subId: number): void;
    list(): NekobasuSub[];
}
//# sourceMappingURL=nekobasu.d.ts.map