import { Prisma } from "@prisma/client";
import { PrismaService } from "../prisma/prisma.service";
import type { CreateMerchantDto } from "./dto/create-merchant.dto";
import type { UpdateMerchantDto } from "./dto/update-merchant.dto";
export declare class MerchantService {
    private readonly prisma;
    constructor(prisma: PrismaService);
    create(dto: CreateMerchantDto): Promise<{
        id: string;
        email: string;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        status: import("@prisma/client").$Enums.MerchantStatus;
        metadata: Prisma.JsonValue | null;
        slug: string;
        defaultCountry: string;
    }>;
    findOne(id: string): Promise<{
        id: string;
        email: string;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        status: import("@prisma/client").$Enums.MerchantStatus;
        metadata: Prisma.JsonValue | null;
        slug: string;
        defaultCountry: string;
    }>;
    list(limit?: number, cursor?: string): Promise<{
        data: {
            id: string;
            email: string;
            name: string;
            createdAt: Date;
            updatedAt: Date;
            status: import("@prisma/client").$Enums.MerchantStatus;
            metadata: Prisma.JsonValue | null;
            slug: string;
            defaultCountry: string;
        }[];
        nextCursor: string | null;
    }>;
    update(id: string, dto: UpdateMerchantDto): Promise<{
        id: string;
        email: string;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        status: import("@prisma/client").$Enums.MerchantStatus;
        metadata: Prisma.JsonValue | null;
        slug: string;
        defaultCountry: string;
    }>;
    private uniqueSlug;
}
