import { PrismaClient } from '../../../../../prisma';
import { BillingPeriod } from '../../../../../prisma/enums';
export interface TeamWithBillingInfo {
    isOrganization: boolean;
    billing: {
        id: string;
        billingPeriod: BillingPeriod | null;
        subscriptionStart: Date | null;
        subscriptionEnd: Date | null;
        subscriptionTrialEnd: Date | null;
        pricePerSeat: number | null;
        paidSeats: number | null;
        subscriptionId: string;
    } | null;
}
export interface UpdateBillingPeriodData {
    billingPeriod: BillingPeriod;
    pricePerSeat?: number | null;
    paidSeats?: number | null;
}
export declare class BillingPeriodRepository {
    private prisma;
    constructor(prisma?: PrismaClient);
    getTeamWithBillingInfo(teamId: number): Promise<TeamWithBillingInfo | null>;
    updateOrganizationBillingPeriod(billingId: string, data: UpdateBillingPeriodData): Promise<void>;
    updateTeamBillingPeriod(billingId: string, data: UpdateBillingPeriodData): Promise<void>;
    getTeamForBillingUpdate(teamId: number): Promise<{
        isOrganization: boolean;
        teamBilling: {
            id: string;
        } | null;
        organizationBilling: {
            id: string;
        } | null;
    } | null>;
}
//# sourceMappingURL=BillingPeriodRepository.d.ts.map