import { PrismaService } from '../../prisma/prisma.service';
import { SubscriptionEngineService } from './subscription-engine.service';
export declare class SubscriptionController {
    private readonly prisma;
    private readonly subscriptionEngine;
    private readonly logger;
    constructor(prisma: PrismaService, subscriptionEngine: SubscriptionEngineService);
    getStatus(req: any): Promise<{
        plan: string;
        status: string;
        trialStart: Date | null;
        trialEnd: Date | null;
        subscriptionStart: Date | null;
        subscriptionEnd: Date | null;
        usage: {
            deliveries: {
                current: number;
                limit: number;
            };
            customers: {
                current: number;
                limit: number;
            };
            products: {
                current: number;
                limit: number;
            };
            apiRequests: {
                current: number;
                limit: number;
            };
        };
    }>;
    initiatePayment(req: any, body: {
        plan: string;
        cycle: 'monthly' | 'semi' | 'annual';
    }): Promise<{
        success: boolean;
        paymentLink: string;
        reference: string;
    }>;
    verifyPayment(req: any, body: {
        reference: string;
    }): Promise<{
        success: boolean;
        status: string;
    }>;
    getPaymentStatus(req: any, reference: string): Promise<{
        success: boolean;
        status: string;
        business: {
            selectedPlan: string | null;
            subscriptionStatus: string;
            subscriptionPlan: string;
            onboardingStep: string;
        } | null;
    } | {
        success: boolean;
        status: string;
        business?: undefined;
    }>;
    activateTrial(req: any): Promise<{
        success: boolean;
        message: string;
        trialEnd: Date | null;
    }>;
}
