import mongoose, { HydratedDocument } from 'mongoose';
export declare enum VendorTxnType {
    CREDIT = "CREDIT",
    DEBIT = "DEBIT"
}
export declare enum VendorTxnSource {
    ORDER_EARNING = "order_earning",
    PAYOUT = "payout",
    ADMIN_ADJUSTMENT = "admin_adjustment",
    REFUND_DEDUCTION = "refund_deduction",
    COMMISSION_DUE = "commission_due",
    AUTO_ADJUSTMENT = "auto_adjustment"
}
export declare class VendorWallet {
    vendor_id: mongoose.Schema.Types.ObjectId;
    wallet_balance: number;
    cod_due_amount: number;
    created_at: number;
    updated_at: number;
}
export type VendorWalletDocument = HydratedDocument<VendorWallet>;
export declare const VendorWalletModel: mongoose.Schema<VendorWallet, mongoose.Model<VendorWallet, any, any, any, mongoose.Document<unknown, any, VendorWallet, any, {}> & VendorWallet & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, VendorWallet, mongoose.Document<unknown, {}, mongoose.FlatRecord<VendorWallet>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<VendorWallet> & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}>;
export declare class VendorWalletTransaction {
    vendor_id: mongoose.Schema.Types.ObjectId;
    type: VendorTxnType;
    source: VendorTxnSource;
    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;
    payout_id: mongoose.Schema.Types.ObjectId;
    triggered_by: string;
    created_at: number;
}
export type VendorWalletTransactionDocument = HydratedDocument<VendorWalletTransaction>;
export declare const VendorWalletTransactionModel: mongoose.Schema<VendorWalletTransaction, mongoose.Model<VendorWalletTransaction, any, any, any, mongoose.Document<unknown, any, VendorWalletTransaction, any, {}> & VendorWalletTransaction & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, VendorWalletTransaction, mongoose.Document<unknown, {}, mongoose.FlatRecord<VendorWalletTransaction>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<VendorWalletTransaction> & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}>;
