import { SubscriptionRepository } from "./repository/subscription.repository";
import { SubscriptionHistoryRepository } from "../subscription-history/repository/subscription-history.repository";
import { AuthService } from "../auth/auth.service";
import { StripeService } from "../stripe/stripe.service";
import { Subscription } from "./entities/subscription.entity";
export declare class SubscriptionService {
    private readonly subscriptionRepository;
    private readonly subscriptionHistoryRepository;
    private readonly authService;
    private readonly stripeService;
    private readonly logger;
    constructor(subscriptionRepository: SubscriptionRepository, subscriptionHistoryRepository: SubscriptionHistoryRepository, authService: AuthService, stripeService: StripeService);
    getSubscription(token: string): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    startTrial(token: string): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    cancelSubscription(token: string): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    findActiveByUserId(userId: number): Promise<Subscription | null>;
}
