import { Prisma } from "@prisma/client";
import { PrismaService } from "../prisma/prisma.service";
import type { CreateCustomerDto } from "./dto/create-customer.dto";
import type { UpdateCustomerDto } from "./dto/update-customer.dto";
export declare class CustomerService {
    private readonly prisma;
    constructor(prisma: PrismaService);
    create(merchantId: string, dto: CreateCustomerDto): Promise<{
        id: string;
        email: string | null;
        name: string | null;
        createdAt: Date;
        updatedAt: Date;
        merchantId: string;
        country: string | null;
        metadata: Prisma.JsonValue | null;
        docType: import("@prisma/client").$Enums.CustomerDocType | null;
        docNumber: string | null;
        phone: string | null;
    }>;
    findOne(merchantId: string, id: string): Promise<{
        id: string;
        email: string | null;
        name: string | null;
        createdAt: Date;
        updatedAt: Date;
        merchantId: string;
        country: string | null;
        metadata: Prisma.JsonValue | null;
        docType: import("@prisma/client").$Enums.CustomerDocType | null;
        docNumber: string | null;
        phone: string | null;
    }>;
    list(merchantId: string, limit?: number, cursor?: string, filters?: {
        email?: string;
        docNumber?: string;
    }): Promise<{
        data: {
            id: string;
            email: string | null;
            name: string | null;
            createdAt: Date;
            updatedAt: Date;
            merchantId: string;
            country: string | null;
            metadata: Prisma.JsonValue | null;
            docType: import("@prisma/client").$Enums.CustomerDocType | null;
            docNumber: string | null;
            phone: string | null;
        }[];
        nextCursor: string | null;
    }>;
    update(merchantId: string, id: string, dto: UpdateCustomerDto): Promise<{
        id: string;
        email: string | null;
        name: string | null;
        createdAt: Date;
        updatedAt: Date;
        merchantId: string;
        country: string | null;
        metadata: Prisma.JsonValue | null;
        docType: import("@prisma/client").$Enums.CustomerDocType | null;
        docNumber: string | null;
        phone: string | null;
    }>;
}
