import mongoose, { HydratedDocument } from 'mongoose';
export declare enum DriverTxnType {
    CREDIT = "CREDIT",
    DEBIT = "DEBIT"
}
export declare enum DriverTxnSource {
    ORDER_EARNING = "order_earning",
    COD_COLLECTED = "cod_collected",
    COD_SETTLEMENT = "cod_settlement",
    ADMIN_ADJUSTMENT = "admin_adjustment",
    AUTO_ADJUSTMENT = "auto_adjustment",
    REFUND_DEDUCTION = "refund_deduction",
    TIP = "tip",
    WALLET_DEPOSIT = "wallet_deposit",
    PAYOUT = "payout"
}
export declare class DriverWallet {
    driver_id: mongoose.Schema.Types.ObjectId;
    wallet_balance: number;
    cod_due_amount: number;
    created_at: number;
    updated_at: number;
}
export type DriverWalletDocument = HydratedDocument<DriverWallet>;
export declare const DriverWalletModel: mongoose.Schema<DriverWallet, mongoose.Model<DriverWallet, any, any, any, mongoose.Document<unknown, any, DriverWallet, any, {}> & DriverWallet & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, DriverWallet, mongoose.Document<unknown, {}, mongoose.FlatRecord<DriverWallet>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<DriverWallet> & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}>;
export declare class DriverWalletTransaction {
    driver_id: mongoose.Schema.Types.ObjectId;
    type: DriverTxnType;
    source: DriverTxnSource;
    txn_id: string;
    amount: number;
    balance_before: number;
    balance_after: number;
    cod_due_before: number;
    cod_due_after: number;
    note: string;
    order_id: mongoose.Schema.Types.ObjectId;
    booking_id: mongoose.Schema.Types.ObjectId;
    payout_id: mongoose.Schema.Types.ObjectId;
    triggered_by: string;
    created_at: number;
}
export type DriverWalletTransactionDocument = HydratedDocument<DriverWalletTransaction>;
export declare const DriverWalletTransactionModel: mongoose.Schema<DriverWalletTransaction, mongoose.Model<DriverWalletTransaction, any, any, any, mongoose.Document<unknown, any, DriverWalletTransaction, any, {}> & DriverWalletTransaction & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, DriverWalletTransaction, mongoose.Document<unknown, {}, mongoose.FlatRecord<DriverWalletTransaction>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<DriverWalletTransaction> & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}>;
