import { Constructor } from '@adonisjs/core/types/common';
import { AKEvent } from '../events/event.js';
export type AssertableEventClass = {
    name: string;
    jobQueueName: string;
    preview(): InstanceType<AssertableEventClass>;
} & Constructor<{
    type: string;
}>;
declare module '@japa/assert' {
    interface Assert {
        emailSent<EventData>(faker: {
            mails: AKEvent<EventData>[];
        }, notifClass: AssertableEventClass, countOrValidator?: number | ((n: AKEvent<EventData>) => boolean)): Promise<void>;
        emailNotSent<EventData>(faker: {
            mails: AKEvent<EventData>[];
        }, notifClass?: AssertableEventClass, validator?: (n: AKEvent<EventData>) => boolean): Promise<void>;
        webPushSent<EventData>(faker: {
            pushNotifications: AKEvent<EventData>[];
        }, notifClass: AssertableEventClass, countOrValidator?: number | ((n: AKEvent<EventData>) => boolean)): Promise<void>;
        webPushNotSent<EventData>(faker: {
            pushNotifications: AKEvent<EventData>[];
        }, notifClass: AssertableEventClass): Promise<void>;
    }
}
export declare const assertAKEvent: () => () => void;
