import { PassService } from './pass.service';
import { CheckPassDto, CreatePassDto, PaginationAdminListDto, PaginationDto, PurchasePassDto } from './dto/create-pass.dto';
import { UpdatePassDto } from './dto/update-pass.dto';
export declare class PassController {
    private readonly passService;
    constructor(passService: PassService);
    getPassesGroupedByVehicleType(req: any, query: PaginationDto): Promise<{
        message: string;
        pagination: {
            totalItems: any;
            totalPages: number;
            currentPage: number;
            perPage: number;
            nextPage: number;
            prevPage: number;
        };
        data: any[];
    }>;
    purchasePass(body: PurchasePassDto, 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;
        amount: any;
        cf_order_id: any;
        payment_sessions_id: any;
        client_secret?: undefined;
        ephemeralKey?: undefined;
        customer?: undefined;
    }>;
    getMyPasses(status: string, req: any): Promise<{
        message: string;
        data: any;
    }>;
    checkHaveActivePassForBooking(req: any, query: CheckPassDto): Promise<{
        isAvailable: boolean;
        pass: any;
    }>;
    create(createPassDto: CreatePassDto): Promise<{
        message: string;
    }>;
    findAll(query: PaginationAdminListDto): Promise<{
        data: (import("mongoose").FlattenMaps<import("mongoose").Document<unknown, {}, import("./schema/PassType.schema").PassType, {}, {}> & import("./schema/PassType.schema").PassType & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        }> & Required<{
            _id: import("mongoose").Types.ObjectId;
        }>)[];
        count: number;
        daily_count: number;
        weekly_count: number;
        monthly_count: number;
        yearly_count: number;
    }>;
    findOne(id: string): Promise<import("mongoose").FlattenMaps<import("mongoose").Document<unknown, {}, import("./schema/PassType.schema").PassType, {}, {}> & import("./schema/PassType.schema").PassType & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }> & Required<{
        _id: import("mongoose").Types.ObjectId;
    }>>;
    update(id: string, updatePassDto: UpdatePassDto): Promise<{
        message: string;
    }>;
    changePassStatus(id: string, status: string): Promise<{
        message: string;
    }>;
}
