import { Provider, WebhookEventOutStatus } from "@prisma/client";
import { Queue } from "bullmq";
import { PrismaService } from "../prisma/prisma.service";
interface ListOutOpts {
    merchantId: string;
    limit?: number;
    cursor?: string;
    status?: WebhookEventOutStatus;
    endpointId?: string;
}
interface ListInOpts {
    merchantId: string;
    limit?: number;
    cursor?: string;
    provider?: Provider;
    processed?: boolean;
}
export declare class AdminEventsService {
    private readonly prisma;
    private readonly queue;
    constructor(prisma: PrismaService, queue: Queue);
    listOutbound(opts: ListOutOpts): Promise<{
        data: {
            id: string;
            endpointId: string;
            intentId: string | null;
            eventType: string;
            status: import("@prisma/client").$Enums.WebhookEventOutStatus;
            attempts: number;
            lastAttemptAt: Date | null;
            nextAttemptAt: Date | null;
            lastError: string | null;
            deliveredAt: Date | null;
            payload: Record<string, unknown>;
            createdAt: Date;
        }[];
        nextCursor: string | null;
    }>;
    listInbound(opts: ListInOpts): Promise<{
        data: {
            id: string;
            provider: import("@prisma/client").$Enums.Provider;
            attemptId: string | null;
            signature: string | null;
            processed: boolean;
            processedAt: Date | null;
            error: string | null;
            payload: Record<string, unknown>;
            receivedAt: Date;
        }[];
        nextCursor: string | null;
    }>;
    retryOutbound(merchantId: string, eventId: string): Promise<{
        queued: boolean;
        id: string;
    }>;
    private toOutDto;
    private toInDto;
}
export {};
