import { z } from "zod";
declare const eventSchema: z.ZodObject<{
    app_id: z.ZodString;
    category: z.ZodString;
    recipients: z.ZodArray<z.ZodString>;
    actor_user_id: z.ZodOptional<z.ZodString>;
    title: z.ZodString;
    body: z.ZodString;
    coalesced_body: z.ZodOptional<z.ZodString>;
    data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    collapse_key: z.ZodOptional<z.ZodString>;
    dedupe_key: z.ZodOptional<z.ZodString>;
    coalesce_window_s: z.ZodOptional<z.ZodNumber>;
    ttl_s: z.ZodOptional<z.ZodNumber>;
    priority: z.ZodOptional<z.ZodEnum<{
        normal: "normal";
        high: "high";
    }>>;
}, z.core.$strip>;
export type NotifyEvent = z.input<typeof eventSchema>;
export type EnqueueResult = {
    queued: number;
    muted: number;
    quiet_dropped: number;
};
export declare function emit(event: NotifyEvent): Promise<void>;
export declare function enqueueEvent(raw: NotifyEvent): Promise<EnqueueResult>;
export {};
