import { WithdrawService } from './withdraw.service';
export declare enum WithdrawAction {
    Approved = "approved",
    Rejected = "rejected"
}
export declare class AdminWithdrawActionDto {
    action: WithdrawAction;
    rejection_reason?: string;
}
export declare class WithdrawListQueryDto {
    page?: number;
    limit?: number;
    status?: string;
    type?: string;
}
export declare class WithdrawController {
    private readonly withdrawService;
    constructor(withdrawService: WithdrawService);
    driverWithdrawRequest(req: any): Promise<{
        message: string;
        data: import("mongoose").Document<unknown, {}, import("./schema/withdraw-request.schema").WithdrawRequest, {}, {}> & import("./schema/withdraw-request.schema").WithdrawRequest & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    vendorWithdrawRequest(req: any): Promise<{
        message: string;
        data: import("mongoose").Document<unknown, {}, import("./schema/withdraw-request.schema").WithdrawRequest, {}, {}> & import("./schema/withdraw-request.schema").WithdrawRequest & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    driverMyRequests(query: WithdrawListQueryDto, req: any): Promise<{
        data: any[];
        total: number;
        page?: undefined;
        limit?: undefined;
    } | {
        data: (import("mongoose").Document<unknown, {}, import("./schema/withdraw-request.schema").WithdrawRequest, {}, {}> & import("./schema/withdraw-request.schema").WithdrawRequest & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
        total: number;
        page: number;
        limit: number;
    }>;
    vendorMyRequests(query: WithdrawListQueryDto, req: any): Promise<{
        data: any[];
        total: number;
        page?: undefined;
        limit?: undefined;
    } | {
        data: (import("mongoose").Document<unknown, {}, import("./schema/withdraw-request.schema").WithdrawRequest, {}, {}> & import("./schema/withdraw-request.schema").WithdrawRequest & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
        total: number;
        page: number;
        limit: number;
    }>;
    adminListRequests(query: WithdrawListQueryDto): Promise<{
        data: (import("mongoose").Document<unknown, {}, import("./schema/withdraw-request.schema").WithdrawRequest, {}, {}> & import("./schema/withdraw-request.schema").WithdrawRequest & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
        total: number;
        page: number;
        limit: number;
        counts: {
            vendor_request_count: number;
            driver_request_count: number;
        };
    }>;
    adminAction(id: string, body: AdminWithdrawActionDto, req: any): Promise<{
        message: string;
        transaction_ref: string;
        amount: any;
        invoice_url: any;
    } | {
        message: string;
        rejection_reason: string;
    }>;
}
