import * as mongoose from 'mongoose';
import { HydratedDocument } from 'mongoose';
export declare enum WithdrawRequestStatus {
    Pending = "pending",
    Approved = "approved",
    Rejected = "rejected"
}
export declare enum WithdrawRequestType {
    Driver = "driver",
    Vendor = "vendor"
}
export declare class WithdrawRequest {
    type: WithdrawRequestType;
    driver_id: mongoose.Schema.Types.ObjectId;
    restaurant_id: mongoose.Schema.Types.ObjectId;
    requested_amount: number;
    status: WithdrawRequestStatus;
    transaction_ref: string;
    payment_by: string;
    rejection_reason: string;
    processed_by: mongoose.Schema.Types.ObjectId;
    processed_at: Date;
    invoice_url: string;
    payout_id: mongoose.Schema.Types.ObjectId;
}
export type WithdrawRequestDocument = HydratedDocument<WithdrawRequest>;
export declare const WithdrawRequestModel: mongoose.Schema<WithdrawRequest, mongoose.Model<WithdrawRequest, any, any, any, mongoose.Document<unknown, any, WithdrawRequest, any, {}> & WithdrawRequest & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, WithdrawRequest, mongoose.Document<unknown, {}, mongoose.FlatRecord<WithdrawRequest>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<WithdrawRequest> & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}>;
