import { PrismaService } from '../../prisma/prisma.service';
export declare class PeriodsService {
    private prisma;
    constructor(prisma: PrismaService);
    getCurrentOrCreate15DayPeriod(vendorId: string): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: string;
        vendorId: string;
        periodType: string;
        startDate: Date;
        endDate: Date;
        totalSales: number;
        totalCommission: number;
        paidAmount: number;
        paidAt: Date | null;
    }>;
    getCurrentOrCreateMonthlyPeriod(vendorId: string): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: string;
        vendorId: string;
        periodType: string;
        startDate: Date;
        endDate: Date;
        totalSales: number;
        totalCommission: number;
        paidAmount: number;
        paidAt: Date | null;
    }>;
    getCurrentOrCreateUnlimitedPeriod(vendorId: string): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: string;
        vendorId: string;
        periodType: string;
        startDate: Date;
        endDate: Date;
        totalSales: number;
        totalCommission: number;
        paidAmount: number;
        paidAt: Date | null;
    }>;
    getVendorPeriods(vendorId: string): Promise<({
        sales: {
            id: string;
            productName: string;
            quantity: number;
            saleDate: Date;
        }[];
    } & {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: string;
        vendorId: string;
        periodType: string;
        startDate: Date;
        endDate: Date;
        totalSales: number;
        totalCommission: number;
        paidAmount: number;
        paidAt: Date | null;
    })[]>;
    updatePeriodTotals(periodId: string, totalCommission: number): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: string;
        vendorId: string;
        periodType: string;
        startDate: Date;
        endDate: Date;
        totalSales: number;
        totalCommission: number;
        paidAmount: number;
        paidAt: Date | null;
    }>;
    getPeriodProgress(vendorId: string): Promise<{
        fifteenDayPeriod: {
            daysRemaining: number;
            id: string;
            createdAt: Date;
            updatedAt: Date;
            status: string;
            vendorId: string;
            periodType: string;
            startDate: Date;
            endDate: Date;
            totalSales: number;
            totalCommission: number;
            paidAmount: number;
            paidAt: Date | null;
        };
        monthlyPeriod: {
            daysRemaining: number;
            id: string;
            createdAt: Date;
            updatedAt: Date;
            status: string;
            vendorId: string;
            periodType: string;
            startDate: Date;
            endDate: Date;
            totalSales: number;
            totalCommission: number;
            paidAmount: number;
            paidAt: Date | null;
        };
        unlimitedPeriod: {
            id: string;
            createdAt: Date;
            updatedAt: Date;
            status: string;
            vendorId: string;
            periodType: string;
            startDate: Date;
            endDate: Date;
            totalSales: number;
            totalCommission: number;
            paidAmount: number;
            paidAt: Date | null;
        };
    }>;
}
