import { PaymentIntentStatus } from "@prisma/client";
import type { ApiKeyAuthContext } from "../common/auth/auth.types";
import { ConfirmPaymentIntentDto } from "./dto/confirm-payment-intent.dto";
import { CreatePaymentIntentDto } from "./dto/create-payment-intent.dto";
import { PaymentIntentService } from "./payment-intent.service";
export declare class PaymentIntentController {
    private readonly service;
    constructor(service: PaymentIntentService);
    create(auth: ApiKeyAuthContext, dto: CreatePaymentIntentDto, idempotencyKey?: string): Promise<{
        id: string;
        merchantId: string;
        customerId: string | null;
        externalReference: string | null;
        amount: string;
        currency: string;
        country: string;
        description: string | null;
        requestedProvider: import("@prisma/client").$Enums.Provider | null;
        platformId: string | null;
        status: import("@prisma/client").$Enums.PaymentIntentStatus;
        metadata: Record<string, unknown> | null;
        expiresAt: Date | null;
        createdAt: Date;
        updatedAt: Date;
    }>;
    list(auth: ApiKeyAuthContext, limit?: string, cursor?: string, status?: PaymentIntentStatus): Promise<{
        data: {
            id: string;
            merchantId: string;
            customerId: string | null;
            externalReference: string | null;
            amount: string;
            currency: string;
            country: string;
            description: string | null;
            requestedProvider: import("@prisma/client").$Enums.Provider | null;
            platformId: string | null;
            status: import("@prisma/client").$Enums.PaymentIntentStatus;
            metadata: Record<string, unknown> | null;
            expiresAt: Date | null;
            createdAt: Date;
            updatedAt: Date;
        }[];
        nextCursor: string | null;
    }>;
    confirm(auth: ApiKeyAuthContext, id: string, dto: ConfirmPaymentIntentDto): Promise<{
        intent: {
            id: string;
            merchantId: string;
            customerId: string | null;
            externalReference: string | null;
            amount: string;
            currency: string;
            country: string;
            description: string | null;
            requestedProvider: import("@prisma/client").$Enums.Provider | null;
            platformId: string | null;
            status: import("@prisma/client").$Enums.PaymentIntentStatus;
            metadata: Record<string, unknown> | null;
            expiresAt: Date | null;
            createdAt: Date;
            updatedAt: Date;
        };
        attempt: {
            id: string;
            intentId: string;
            provider: import("@prisma/client").$Enums.Provider;
            providerPaymentId: string | null;
            method: import("@prisma/client").$Enums.PaymentMethod;
            platformId: string | null;
            status: import("@prisma/client").$Enums.PaymentAttemptStatus;
            responseCode: string | null;
            responseMessage: string | null;
            redirectUrl: string | null;
            qr: unknown;
            createdAt: Date;
        };
    }>;
    findOne(auth: ApiKeyAuthContext, id: string): Promise<{
        id: string;
        merchantId: string;
        customerId: string | null;
        externalReference: string | null;
        amount: string;
        currency: string;
        country: string;
        description: string | null;
        requestedProvider: import("@prisma/client").$Enums.Provider | null;
        platformId: string | null;
        status: import("@prisma/client").$Enums.PaymentIntentStatus;
        metadata: Record<string, unknown> | null;
        expiresAt: Date | null;
        createdAt: Date;
        updatedAt: Date;
    }>;
    sync(auth: ApiKeyAuthContext, id: string): Promise<{
        id: string;
        merchantId: string;
        customerId: string | null;
        externalReference: string | null;
        amount: string;
        currency: string;
        country: string;
        description: string | null;
        requestedProvider: import("@prisma/client").$Enums.Provider | null;
        platformId: string | null;
        status: import("@prisma/client").$Enums.PaymentIntentStatus;
        metadata: Record<string, unknown> | null;
        expiresAt: Date | null;
        createdAt: Date;
        updatedAt: Date;
    }>;
}
