import { CreateSubscriptionDto, PaginationDto } from './dto/create-payout-subscription.dto';
import { UpdateSubscriptionDto } from './dto/update-payout-subscription.dto';
import { DbService } from 'src/db/db.service';
import { CommonService } from 'src/common/common.service';
import mongoose, { Types } from 'mongoose';
import { StripeService } from 'src/common/helpers/stripe.service';
import { RazorpayService } from 'src/common/helpers/razorpay-helper.service';
import { CashfreeService } from 'src/common/helpers/cashfree-helper.service';
export declare class PayoutSubscriptionService {
    private readonly model;
    private readonly commonService;
    private readonly stripe;
    private readonly razorpayService;
    private readonly cashfreeService;
    constructor(model: DbService, commonService: CommonService, stripe: StripeService, razorpayService: RazorpayService, cashfreeService: CashfreeService);
    create(createPayoutSubscriptionDto: CreateSubscriptionDto): Promise<{
        message: string;
    }>;
    findAll(dto: PaginationDto): Promise<{
        data: (mongoose.FlattenMaps<{
            vehicleType: string;
            type: string;
            category: string;
            limit: number;
            price: number;
            isActive: boolean;
        }> & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        })[];
        count: number;
        limited_count: number;
        unlimited_count: number;
    }>;
    findOne(id: string): Promise<mongoose.FlattenMaps<{
        vehicleType: string;
        type: string;
        category: string;
        limit: number;
        price: number;
        isActive: boolean;
    }> & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    }>;
    update(id: string, updatePayoutSubscriptionDto: UpdateSubscriptionDto): Promise<{
        message: string;
    }>;
    changeStatus(id: string, status: string): Promise<{
        message: string;
    }>;
    purchaseSubscription(driverId: string, subscriptionId: string): Promise<{
        client_secret: string;
        amount: number;
        ephemeralKey: any;
        customer: any;
        order_id?: undefined;
        cf_order_id?: undefined;
        payment_sessions_id?: undefined;
    } | {
        order_id: any;
        amount: any;
        client_secret?: undefined;
        ephemeralKey?: undefined;
        customer?: undefined;
        cf_order_id?: undefined;
        payment_sessions_id?: undefined;
    } | {
        order_id: any;
        cf_order_id: any;
        payment_sessions_id: any;
        amount: number;
        client_secret?: undefined;
        ephemeralKey?: undefined;
        customer?: undefined;
    }>;
    togglePayoutType(payoutType: string): Promise<{
        message: string;
    }>;
    offlineNonSubscriptionActiveDrivers(): Promise<void>;
    updateSubscriptionExpiry(): Promise<void>;
    getSubscriptionsListing(userId: string): Promise<{
        data: any[];
    }>;
    getRemainingVehicleTypes(): Promise<{
        data: any[];
    }>;
}
