import { PrismaService } from '../../prisma/prisma.service';
export declare class CreatePharmacyDto {
    name: string;
    address?: string;
    phone?: string;
    region?: string;
}
export declare class PharmaciesService {
    private prisma;
    constructor(prisma: PrismaService);
    findAll(query?: {
        region?: string;
        status?: string;
        search?: string;
    }): Promise<({
        _count: {
            vendors: number;
        };
        vendors: {
            name: string;
            id: string;
        }[];
    } & {
        name: string;
        phone: string | null;
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: string;
        region: string | null;
        address: string | null;
    })[]>;
    findOne(id: string): Promise<{
        vendors: ({
            _count: {
                sales: number;
            };
        } & {
            name: string | null;
            phone: string | null;
            id: string;
            createdAt: Date;
            updatedAt: Date;
            uniqueCardNumber: string;
            email: string | null;
            ccp: string | null;
            ccpKey: string | null;
            rip: string | null;
            pharmacyId: string | null;
            status: string;
            actionDate: Date;
            registrationBonus: boolean;
        })[];
    } & {
        name: string;
        phone: string | null;
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: string;
        region: string | null;
        address: string | null;
    }>;
    create(dto: CreatePharmacyDto): Promise<{
        name: string;
        phone: string | null;
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: string;
        region: string | null;
        address: string | null;
    }>;
    update(id: string, dto: Partial<CreatePharmacyDto> & {
        status?: string;
    }): Promise<{
        name: string;
        phone: string | null;
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: string;
        region: string | null;
        address: string | null;
    }>;
    remove(id: string): Promise<{
        name: string;
        phone: string | null;
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: string;
        region: string | null;
        address: string | null;
    }>;
    getDetailWithVendors(id: string): Promise<{
        vendors: {
            id: any;
            name: any;
            phone: any;
            email: any;
            status: any;
            salesCount: any;
            totalCommission: any;
            paidCommission: any;
            pendingCommission: number;
            qrCode: any;
        }[];
        _count: {
            vendors: number;
        };
        name: string;
        phone: string | null;
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: string;
        region: string | null;
        address: string | null;
    }>;
    assignVendorToPharmacy(pharmacyId: string, vendorId: string): Promise<{
        pharmacy: {
            name: string;
            phone: string | null;
            id: string;
            createdAt: Date;
            updatedAt: Date;
            status: string;
            region: string | null;
            address: string | null;
        };
    } & {
        name: string | null;
        phone: string | null;
        id: string;
        createdAt: Date;
        updatedAt: Date;
        uniqueCardNumber: string;
        email: string | null;
        ccp: string | null;
        ccpKey: string | null;
        rip: string | null;
        pharmacyId: string | null;
        status: string;
        actionDate: Date;
        registrationBonus: boolean;
    }>;
    getTopPharmacies(limit?: number): Promise<{
        id: string;
        name: string;
        region: string;
        vendorCount: number;
        totalSales: number;
        totalCommission: number;
    }[]>;
}
