import { ZodType, z } from 'zod'; type CleanupFn = (() => void) | void; export declare class HyperRPCEvent { eventType: T; emitterSetup?: (emit: (x: z.infer) => void, ctx: Ctx) => CleanupFn; constructor(eventType: T); emitter(setup: (emit: (x: z.infer) => void, ctx: Ctx) => CleanupFn): this; filter(fn: (input: z.infer) => Promise): void; } export {};