import { Event } from './backend/models';
import { JetStreamClient } from 'nats';
import { EventConfig } from '.';
declare type EventHandler<ParentEvent extends Event<string>> = (event: {
    input: ParentEvent['data'];
    config: EventConfig;
}) => Promise<any>;
export declare const Subscriber: ({ clientGroup, js, batch, expires, }: {
    clientGroup: string;
    js: JetStreamClient;
    batch: number;
    expires: number;
}) => <ParentEvent extends Event<string>>({ subject, eventHandlers, }: {
    subject: ParentEvent["subject"];
    eventHandlers: EventHandler<ParentEvent>[];
}) => Promise<void>;
export {};
