import { PayoutSubscriptionService } from './payout-subscription.service';
import { CreateSubscriptionDto, PaginationDto, PurchaseSubscriptionDto } from './dto/create-payout-subscription.dto';
import { UpdateSubscriptionDto } from './dto/update-payout-subscription.dto';
export declare class PayoutSubscriptionController {
    private readonly payoutSubscriptionService;
    constructor(payoutSubscriptionService: PayoutSubscriptionService);
    getPassesGroupedByVehicleType(req: any): Promise<{
        data: any[];
    }>;
    changePayoutType(status: string): Promise<{
        message: string;
    }>;
    getRemainingVehicleTypes(): Promise<{
        data: any[];
    }>;
    purchasePass(body: PurchaseSubscriptionDto, req: any): 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;
    }>;
    create(createSubscriptionDto: CreateSubscriptionDto): Promise<{
        message: string;
    }>;
    findAll(query: PaginationDto): Promise<{
        data: (import("mongoose").FlattenMaps<{
            vehicleType: string;
            type: string;
            category: string;
            limit: number;
            price: number;
            isActive: boolean;
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
        count: number;
        limited_count: number;
        unlimited_count: number;
    }>;
    findOne(id: string): Promise<import("mongoose").FlattenMaps<{
        vehicleType: string;
        type: string;
        category: string;
        limit: number;
        price: number;
        isActive: boolean;
    }> & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }>;
    update(id: string, updateSubscriptionDto: UpdateSubscriptionDto): Promise<{
        message: string;
    }>;
    changeSubscriptionStatus(id: string, status: string): Promise<{
        message: string;
    }>;
}
