<?php //e6519545b16f7b908038d91b29fa2b5d
/** @noinspection all */

namespace App\Models {

    use Illuminate\Database\Eloquent\Model;
    use Illuminate\Database\Eloquent\Relations\BelongsTo;
    use Illuminate\Database\Eloquent\Relations\BelongsToMany;
    use Illuminate\Database\Eloquent\Relations\HasMany;
    use Illuminate\Database\Eloquent\Relations\HasOne;
    use Illuminate\Database\Eloquent\Relations\MorphTo;
    use Illuminate\Database\Eloquent\Relations\MorphToMany;
    use Illuminate\Notifications\DatabaseNotification;
    use Illuminate\Notifications\DatabaseNotificationCollection;
    use Illuminate\Support\Carbon;
    use LaravelIdea\Helper\App\Models\_IH_AdminNotification_C;
    use LaravelIdea\Helper\App\Models\_IH_AdminNotification_QB;
    use LaravelIdea\Helper\App\Models\_IH_AdminPasswordReset_C;
    use LaravelIdea\Helper\App\Models\_IH_AdminPasswordReset_QB;
    use LaravelIdea\Helper\App\Models\_IH_Admin_C;
    use LaravelIdea\Helper\App\Models\_IH_Admin_QB;
    use LaravelIdea\Helper\App\Models\_IH_Beneficiary_C;
    use LaravelIdea\Helper\App\Models\_IH_Beneficiary_QB;
    use LaravelIdea\Helper\App\Models\_IH_Branch_C;
    use LaravelIdea\Helper\App\Models\_IH_Branch_QB;
    use LaravelIdea\Helper\App\Models\_IH_Contact_C;
    use LaravelIdea\Helper\App\Models\_IH_Contact_QB;
    use LaravelIdea\Helper\App\Models\_IH_DepositPensionSchemePlan_C;
    use LaravelIdea\Helper\App\Models\_IH_DepositPensionSchemePlan_QB;
    use LaravelIdea\Helper\App\Models\_IH_DepositPensionScheme_C;
    use LaravelIdea\Helper\App\Models\_IH_DepositPensionScheme_QB;
    use LaravelIdea\Helper\App\Models\_IH_Deposit_C;
    use LaravelIdea\Helper\App\Models\_IH_Deposit_QB;
    use LaravelIdea\Helper\App\Models\_IH_FixedDepositSchemePlan_C;
    use LaravelIdea\Helper\App\Models\_IH_FixedDepositSchemePlan_QB;
    use LaravelIdea\Helper\App\Models\_IH_FixedDepositScheme_C;
    use LaravelIdea\Helper\App\Models\_IH_FixedDepositScheme_QB;
    use LaravelIdea\Helper\App\Models\_IH_Form_C;
    use LaravelIdea\Helper\App\Models\_IH_Form_QB;
    use LaravelIdea\Helper\App\Models\_IH_GatewayCurrency_C;
    use LaravelIdea\Helper\App\Models\_IH_GatewayCurrency_QB;
    use LaravelIdea\Helper\App\Models\_IH_Gateway_C;
    use LaravelIdea\Helper\App\Models\_IH_Gateway_QB;
    use LaravelIdea\Helper\App\Models\_IH_Installment_C;
    use LaravelIdea\Helper\App\Models\_IH_Installment_QB;
    use LaravelIdea\Helper\App\Models\_IH_Language_C;
    use LaravelIdea\Helper\App\Models\_IH_Language_QB;
    use LaravelIdea\Helper\App\Models\_IH_LoanPlan_C;
    use LaravelIdea\Helper\App\Models\_IH_LoanPlan_QB;
    use LaravelIdea\Helper\App\Models\_IH_Loan_C;
    use LaravelIdea\Helper\App\Models\_IH_Loan_QB;
    use LaravelIdea\Helper\App\Models\_IH_MoneyTransfer_C;
    use LaravelIdea\Helper\App\Models\_IH_MoneyTransfer_QB;
    use LaravelIdea\Helper\App\Models\_IH_NotificationTemplate_C;
    use LaravelIdea\Helper\App\Models\_IH_NotificationTemplate_QB;
    use LaravelIdea\Helper\App\Models\_IH_OtherBank_C;
    use LaravelIdea\Helper\App\Models\_IH_OtherBank_QB;
    use LaravelIdea\Helper\App\Models\_IH_PasswordReset_C;
    use LaravelIdea\Helper\App\Models\_IH_PasswordReset_QB;
    use LaravelIdea\Helper\App\Models\_IH_Plugin_C;
    use LaravelIdea\Helper\App\Models\_IH_Plugin_QB;
    use LaravelIdea\Helper\App\Models\_IH_ReferralSettings_C;
    use LaravelIdea\Helper\App\Models\_IH_ReferralSettings_QB;
    use LaravelIdea\Helper\App\Models\_IH_Setting_C;
    use LaravelIdea\Helper\App\Models\_IH_Setting_QB;
    use LaravelIdea\Helper\App\Models\_IH_SiteData_C;
    use LaravelIdea\Helper\App\Models\_IH_SiteData_QB;
    use LaravelIdea\Helper\App\Models\_IH_StaffPasswordResetToken_C;
    use LaravelIdea\Helper\App\Models\_IH_StaffPasswordResetToken_QB;
    use LaravelIdea\Helper\App\Models\_IH_Staff_C;
    use LaravelIdea\Helper\App\Models\_IH_Staff_QB;
    use LaravelIdea\Helper\App\Models\_IH_Subscriber_C;
    use LaravelIdea\Helper\App\Models\_IH_Subscriber_QB;
    use LaravelIdea\Helper\App\Models\_IH_Transaction_C;
    use LaravelIdea\Helper\App\Models\_IH_Transaction_QB;
    use LaravelIdea\Helper\App\Models\_IH_User_C;
    use LaravelIdea\Helper\App\Models\_IH_User_QB;
    use LaravelIdea\Helper\App\Models\_IH_WireTransferSettings_C;
    use LaravelIdea\Helper\App\Models\_IH_WireTransferSettings_QB;
    use LaravelIdea\Helper\App\Models\_IH_Withdrawal_C;
    use LaravelIdea\Helper\App\Models\_IH_Withdrawal_QB;
    use LaravelIdea\Helper\App\Models\_IH_WithdrawMethod_C;
    use LaravelIdea\Helper\App\Models\_IH_WithdrawMethod_QB;
    use LaravelIdea\Helper\Illuminate\Notifications\_IH_DatabaseNotification_QB;
    use LaravelIdea\Helper\Spatie\Permission\Models\_IH_Permission_C;
    use LaravelIdea\Helper\Spatie\Permission\Models\_IH_Permission_QB;
    use LaravelIdea\Helper\Spatie\Permission\Models\_IH_Role_C;
    use LaravelIdea\Helper\Spatie\Permission\Models\_IH_Role_QB;
    use Spatie\Permission\Models\Permission;
    use Spatie\Permission\Models\Role;
    
    /**
     * @property string $id
     * @property string $name
     * @property string $email
     * @property string $username
     * @property string|null $contact
     * @property string|null $address
     * @property Carbon|null $email_verified_at
     * @property string|null $image
     * @property string $password
     * @property string|null $remember_token
     * @property bool $status
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property string $status_badge attribute
     * @property _IH_Permission_C|Permission[] $permissions
     * @property-read int $permissions_count
     * @method MorphToMany|_IH_Permission_QB permissions()
     * @property _IH_Role_C|Role[] $roles
     * @property-read int $roles_count
     * @method MorphToMany|_IH_Role_QB roles()
     * @method static _IH_Admin_QB onWriteConnection()
     * @method _IH_Admin_QB newQuery()
     * @method static _IH_Admin_QB on(null|string $connection = null)
     * @method static _IH_Admin_QB query()
     * @method static _IH_Admin_QB with(array|string $relations)
     * @method _IH_Admin_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_Admin_C|Admin[] all()
     * @mixin _IH_Admin_QB
     */
    class Admin extends Model {}
    
    /**
     * @property string $id
     * @property string $user_id
     * @property string|null $title
     * @property string $is_read
     * @property string|null $click_url
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property User $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_AdminNotification_QB onWriteConnection()
     * @method _IH_AdminNotification_QB newQuery()
     * @method static _IH_AdminNotification_QB on(null|string $connection = null)
     * @method static _IH_AdminNotification_QB query()
     * @method static _IH_AdminNotification_QB with(array|string $relations)
     * @method _IH_AdminNotification_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_AdminNotification_C|AdminNotification[] all()
     * @ownLinks 
     * @mixin _IH_AdminNotification_QB
     */
    class AdminNotification extends Model {}
    
    /**
     * @property string $id
     * @property string|null $email
     * @property string|null $code
     * @property string $status
     * @property Carbon|null $created_at
     * @property string $status_badge attribute
     * @method static _IH_AdminPasswordReset_QB onWriteConnection()
     * @method _IH_AdminPasswordReset_QB newQuery()
     * @method static _IH_AdminPasswordReset_QB on(null|string $connection = null)
     * @method static _IH_AdminPasswordReset_QB query()
     * @method static _IH_AdminPasswordReset_QB with(array|string $relations)
     * @method _IH_AdminPasswordReset_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_AdminPasswordReset_C|AdminPasswordReset[] all()
     * @mixin _IH_AdminPasswordReset_QB
     */
    class AdminPasswordReset extends Model {}
    
    /**
     * @property string $id
     * @property string $user_id
     * @property string $beneficiaryable_id
     * @property string $beneficiaryable_type
     * @property array $details
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property Model $beneficiaryable
     * @method MorphTo beneficiaryable()
     * @property _IH_MoneyTransfer_C|MoneyTransfer[] $moneyTransfers
     * @property-read int $money_transfers_count
     * @method HasMany|_IH_MoneyTransfer_QB moneyTransfers()
     * @method static _IH_Beneficiary_QB onWriteConnection()
     * @method _IH_Beneficiary_QB newQuery()
     * @method static _IH_Beneficiary_QB on(null|string $connection = null)
     * @method static _IH_Beneficiary_QB query()
     * @method static _IH_Beneficiary_QB with(array|string $relations)
     * @method _IH_Beneficiary_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_Beneficiary_C|Beneficiary[] all()
     * @ownLinks 
     * @mixin _IH_Beneficiary_QB
     */
    class Beneficiary extends Model {}
    
    /**
     * @property string $id
     * @property string $name
     * @property string $code
     * @property string $routing_number
     * @property string $swift_code
     * @property string|null $contact_number
     * @property string|null $email
     * @property string $address
     * @property string|null $map_location
     * @property bool $status 0: Inactive, 1: Active
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property string $status_badge attribute
     * @property _IH_Deposit_C|Deposit[] $deposits
     * @property-read int $deposits_count
     * @method HasMany|_IH_Deposit_QB deposits()
     * @property _IH_Staff_C|Staff[] $staffs
     * @property-read int $staffs_count
     * @method BelongsToMany|_IH_Staff_QB staffs()
     * @property _IH_Transaction_C|Transaction[] $transactions
     * @property-read int $transactions_count
     * @method HasMany|_IH_Transaction_QB transactions()
     * @property _IH_User_C|User[] $users
     * @property-read int $users_count
     * @method HasMany|_IH_User_QB users()
     * @property _IH_Withdrawal_C|Withdrawal[] $withdrawals
     * @property-read int $withdrawals_count
     * @method HasMany|_IH_Withdrawal_QB withdrawals()
     * @method static _IH_Branch_QB onWriteConnection()
     * @method _IH_Branch_QB newQuery()
     * @method static _IH_Branch_QB on(null|string $connection = null)
     * @method static _IH_Branch_QB query()
     * @method static _IH_Branch_QB with(array|string $relations)
     * @method _IH_Branch_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_Branch_C|Branch[] all()
     * @mixin _IH_Branch_QB
     */
    class Branch extends Model {}
    
    /**
     * @property string $id
     * @property string $name
     * @property string $email
     * @property string $subject
     * @property string $message
     * @property string $status 1 -> Answered, 0 -> Unanswered
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property string $status_badge attribute
     * @method static _IH_Contact_QB onWriteConnection()
     * @method _IH_Contact_QB newQuery()
     * @method static _IH_Contact_QB on(null|string $connection = null)
     * @method static _IH_Contact_QB query()
     * @method static _IH_Contact_QB with(array|string $relations)
     * @method _IH_Contact_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_Contact_C|Contact[] all()
     * @mixin _IH_Contact_QB
     */
    class Contact extends Model {}
    
    /**
     * @property string $id
     * @property string $user_id
     * @property string|null $branch_id
     * @property string|null $staff_id
     * @property string $method_code
     * @property string|null $method_currency
     * @property float $amount
     * @property float $charge
     * @property float $rate
     * @property float $final_amount
     * @property mixed|null $details
     * @property string|null $btc_amount
     * @property string|null $btc_wallet
     * @property string|null $trx
     * @property int $payment_try
     * @property bool $status 1 => success, 2 => pending, 3 => cancel
     * @property bool $from_api
     * @property string|null $admin_feedback
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property string $status_badge attribute
     * @property Branch|null $branch
     * @method BelongsTo|_IH_Branch_QB branch()
     * @property Gateway $gateway
     * @method BelongsTo|_IH_Gateway_QB gateway()
     * @property Staff|null $staff
     * @method BelongsTo|_IH_Staff_QB staff()
     * @property User $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_Deposit_QB onWriteConnection()
     * @method _IH_Deposit_QB newQuery()
     * @method static _IH_Deposit_QB on(null|string $connection = null)
     * @method static _IH_Deposit_QB query()
     * @method static _IH_Deposit_QB with(array|string $relations)
     * @method _IH_Deposit_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_Deposit_C|Deposit[] all()
     * @ownLinks 
     * @mixin _IH_Deposit_QB
     */
    class Deposit extends Model {}
    
    /**
     * @property string $id
     * @property string $user_id
     * @property string $plan_name
     * @property string $scheme_code
     * @property float $per_installment
     * @property string $installment_interval
     * @property string $total_installment
     * @property string $given_installment
     * @property float $total_deposit_amount
     * @property float $interest_rate
     * @property float $profit_amount
     * @property float $maturity_amount
     * @property string $delay_duration
     * @property float $per_installment_late_fee
     * @property float $total_late_fees
     * @property Carbon|null $late_fee_last_notified_at
     * @property Carbon|null $transfer_at
     * @property string $status 0 -> closed, 1 -> running, 2 -> matured
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property string $status_badge attribute
     * @property _IH_Installment_C|Installment[] $installments
     * @property-read int $installments_count
     * @method MorphToMany|_IH_Installment_QB installments()
     * @property Installment $oldestInstallment
     * @method MorphToMany|_IH_Installment_QB oldestInstallment()
     * @property User $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_DepositPensionScheme_QB onWriteConnection()
     * @method _IH_DepositPensionScheme_QB newQuery()
     * @method static _IH_DepositPensionScheme_QB on(null|string $connection = null)
     * @method static _IH_DepositPensionScheme_QB query()
     * @method static _IH_DepositPensionScheme_QB with(array|string $relations)
     * @method _IH_DepositPensionScheme_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_DepositPensionScheme_C|DepositPensionScheme[] all()
     * @ownLinks 
     * @mixin _IH_DepositPensionScheme_QB
     */
    class DepositPensionScheme extends Model {}
    
    /**
     * @property string $id
     * @property string $name
     * @property string $icon
     * @property float $per_installment
     * @property string $installment_interval
     * @property string $total_installment
     * @property float $total_deposit_amount
     * @property float $interest_rate
     * @property float $profit_amount
     * @property float $maturity_amount
     * @property string $delay_duration
     * @property float $fixed_charge
     * @property float $percentage_charge
     * @property bool $status 0 -> Plan is inactive, 1 -> Plan is active
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property string $status_badge attribute
     * @method static _IH_DepositPensionSchemePlan_QB onWriteConnection()
     * @method _IH_DepositPensionSchemePlan_QB newQuery()
     * @method static _IH_DepositPensionSchemePlan_QB on(null|string $connection = null)
     * @method static _IH_DepositPensionSchemePlan_QB query()
     * @method static _IH_DepositPensionSchemePlan_QB with(array|string $relations)
     * @method _IH_DepositPensionSchemePlan_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_DepositPensionSchemePlan_C|DepositPensionSchemePlan[] all()
     * @mixin _IH_DepositPensionSchemePlan_QB
     */
    class DepositPensionSchemePlan extends Model {}
    
    /**
     * @property string $id
     * @property string $user_id
     * @property string $plan_name
     * @property string $scheme_code
     * @property float $interest_rate
     * @property float $deposit_amount The amount deposited at the time of opening the FDS
     * @property string $interest_payout_interval
     * @property float $per_installment The amount provided by the bank in each installment
     * @property float $profit_amount The total profit amount
     * @property Carbon $next_installment_date
     * @property Carbon $locked_until
     * @property Carbon|null $transfer_at
     * @property string $status 0 -> closed, 1 -> running
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property string $status_badge attribute
     * @property _IH_Installment_C|Installment[] $installments
     * @property-read int $installments_count
     * @method MorphToMany|_IH_Installment_QB installments()
     * @property User $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_FixedDepositScheme_QB onWriteConnection()
     * @method _IH_FixedDepositScheme_QB newQuery()
     * @method static _IH_FixedDepositScheme_QB on(null|string $connection = null)
     * @method static _IH_FixedDepositScheme_QB query()
     * @method static _IH_FixedDepositScheme_QB with(array|string $relations)
     * @method _IH_FixedDepositScheme_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_FixedDepositScheme_C|FixedDepositScheme[] all()
     * @ownLinks 
     * @mixin _IH_FixedDepositScheme_QB
     */
    class FixedDepositScheme extends Model {}
    
    /**
     * @property string $id
     * @property string $name
     * @property string $icon
     * @property float $interest_rate
     * @property string $interest_payout_interval
     * @property string $lock_in_period
     * @property float $minimum_amount
     * @property float $maximum_amount
     * @property bool $status 0 -> Plan is inactive, 1 -> Plan is active
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property string $status_badge attribute
     * @method static _IH_FixedDepositSchemePlan_QB onWriteConnection()
     * @method _IH_FixedDepositSchemePlan_QB newQuery()
     * @method static _IH_FixedDepositSchemePlan_QB on(null|string $connection = null)
     * @method static _IH_FixedDepositSchemePlan_QB query()
     * @method static _IH_FixedDepositSchemePlan_QB with(array|string $relations)
     * @method _IH_FixedDepositSchemePlan_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_FixedDepositSchemePlan_C|FixedDepositSchemePlan[] all()
     * @mixin _IH_FixedDepositSchemePlan_QB
     */
    class FixedDepositSchemePlan extends Model {}
    
    /**
     * @property string $id
     * @property string|null $act
     * @property mixed|null $form_data
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property array $json_data attribute
     * @property LoanPlan $loanPlan
     * @method HasOne|_IH_LoanPlan_QB loanPlan()
     * @property OtherBank $otherBank
     * @method HasOne|_IH_OtherBank_QB otherBank()
     * @property WireTransferSettings $wireTransferSettings
     * @method HasOne|_IH_WireTransferSettings_QB wireTransferSettings()
     * @method static _IH_Form_QB onWriteConnection()
     * @method _IH_Form_QB newQuery()
     * @method static _IH_Form_QB on(null|string $connection = null)
     * @method static _IH_Form_QB query()
     * @method static _IH_Form_QB with(array|string $relations)
     * @method _IH_Form_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_Form_C|Form[] all()
     * @mixin _IH_Form_QB
     */
    class Form extends Model {}
    
    /**
     * @property string $id
     * @property string $form_id
     * @property null|string $code
     * @property string|null $name
     * @property string $alias
     * @property string $status 1=>Active, 2=>Inactive
     * @property string|null $gateway_parameters
     * @property mixed|null $supported_currencies
     * @property string $crypto 0: fiat currency, 1: crypto currency
     * @property mixed|null $extra
     * @property string|null $guideline
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property string $status_badge attribute
     * @property _IH_GatewayCurrency_C|GatewayCurrency[] $currencies
     * @property-read int $currencies_count
     * @method HasMany|_IH_GatewayCurrency_QB currencies()
     * @property Form $form
     * @method BelongsTo|_IH_Form_QB form()
     * @property GatewayCurrency|null $singleCurrency
     * @method HasOne|_IH_GatewayCurrency_QB singleCurrency()
     * @method static _IH_Gateway_QB onWriteConnection()
     * @method _IH_Gateway_QB newQuery()
     * @method static _IH_Gateway_QB on(null|string $connection = null)
     * @method static _IH_Gateway_QB query()
     * @method static _IH_Gateway_QB with(array|string $relations)
     * @method _IH_Gateway_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_Gateway_C|Gateway[] all()
     * @ownLinks 
     * @mixin _IH_Gateway_QB
     */
    class Gateway extends Model {}
    
    /**
     * @property string $id
     * @property string|null $name
     * @property string|null $currency
     * @property string|null $symbol
     * @property string|null $method_code
     * @property string|null $gateway_alias
     * @property float $min_amount
     * @property float $max_amount
     * @property float $percent_charge
     * @property float $fixed_charge
     * @property float $rate
     * @property string|null $gateway_parameter
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property string $status_badge attribute
     * @property Gateway|null $method
     * @method BelongsTo|_IH_Gateway_QB method()
     * @method static _IH_GatewayCurrency_QB onWriteConnection()
     * @method _IH_GatewayCurrency_QB newQuery()
     * @method static _IH_GatewayCurrency_QB on(null|string $connection = null)
     * @method static _IH_GatewayCurrency_QB query()
     * @method static _IH_GatewayCurrency_QB with(array|string $relations)
     * @method _IH_GatewayCurrency_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_GatewayCurrency_C|GatewayCurrency[] all()
     * @mixin _IH_GatewayCurrency_QB
     */
    class GatewayCurrency extends Model {}
    
    /**
     * @property string $id
     * @property string $installmentable_id
     * @property string $installmentable_type
     * @property Carbon|null $installment_date
     * @property Carbon|null $given_at
     * @property Model $installmentable
     * @method MorphTo installmentable()
     * @method static _IH_Installment_QB onWriteConnection()
     * @method _IH_Installment_QB newQuery()
     * @method static _IH_Installment_QB on(null|string $connection = null)
     * @method static _IH_Installment_QB query()
     * @method static _IH_Installment_QB with(array|string $relations)
     * @method _IH_Installment_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_Installment_C|Installment[] all()
     * @mixin _IH_Installment_QB
     */
    class Installment extends Model {}
    
    /**
     * @property string $id
     * @property string|null $name
     * @property string|null $code
     * @property string $is_default
     * @property bool $status
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property string $status_badge attribute
     * @method static _IH_Language_QB onWriteConnection()
     * @method _IH_Language_QB newQuery()
     * @method static _IH_Language_QB on(null|string $connection = null)
     * @method static _IH_Language_QB query()
     * @method static _IH_Language_QB with(array|string $relations)
     * @method _IH_Language_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_Language_C|Language[] all()
     * @mixin _IH_Language_QB
     */
    class Language extends Model {}
    
    /**
     * @property string $id
     * @property string $user_id
     * @property string $plan_name
     * @property string $scheme_code
     * @property float $amount_requested
     * @property array|null $form_data
     * @property float $per_installment
     * @property string $installment_interval
     * @property string $total_installment
     * @property string $given_installment
     * @property string $delay_duration
     * @property float $per_installment_late_fee
     * @property float $total_late_fees
     * @property Carbon|null $late_fee_last_notified_at
     * @property string $status 0 -> rejected, 1 -> running, 2 -> paid, 3 -> pending
     * @property Carbon|null $approved_at
     * @property string|null $admin_feedback
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property string $status_badge attribute
     * @property _IH_Installment_C|Installment[] $installments
     * @property-read int $installments_count
     * @method MorphToMany|_IH_Installment_QB installments()
     * @property User $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_Loan_QB onWriteConnection()
     * @method _IH_Loan_QB newQuery()
     * @method static _IH_Loan_QB on(null|string $connection = null)
     * @method static _IH_Loan_QB query()
     * @method static _IH_Loan_QB with(array|string $relations)
     * @method _IH_Loan_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_Loan_C|Loan[] all()
     * @ownLinks 
     * @mixin _IH_Loan_QB
     */
    class Loan extends Model {}
    
    /**
     * @property string $id
     * @property string $name
     * @property string $icon
     * @property float $minimum_amount
     * @property float $maximum_amount
     * @property float $installment_rate
     * @property string $installment_interval
     * @property string $total_installments
     * @property string|null $instruction
     * @property string $delay_duration
     * @property float $fixed_charge
     * @property float $percentage_charge
     * @property string|null $form_id
     * @property bool $status 0 -> Plan is inactive, 1 -> Plan is active
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property string $status_badge attribute
     * @property Form|null $form
     * @method BelongsTo|_IH_Form_QB form()
     * @method static _IH_LoanPlan_QB onWriteConnection()
     * @method _IH_LoanPlan_QB newQuery()
     * @method static _IH_LoanPlan_QB on(null|string $connection = null)
     * @method static _IH_LoanPlan_QB query()
     * @method static _IH_LoanPlan_QB with(array|string $relations)
     * @method _IH_LoanPlan_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_LoanPlan_C|LoanPlan[] all()
     * @ownLinks 
     * @mixin _IH_LoanPlan_QB
     */
    class LoanPlan extends Model {}
    
    /**
     * @property string $id
     * @property string $user_id
     * @property string|null $beneficiary_id
     * @property string $trx
     * @property float $amount
     * @property float $charge
     * @property array|null $wire_transfer_payload
     * @property string $status 0 -> failed, 1 -> completed, 2 -> pending
     * @property string|null $rejection_reason
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property string $status_badge attribute
     * @property Beneficiary|null $beneficiary
     * @method BelongsTo|_IH_Beneficiary_QB beneficiary()
     * @property User $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_MoneyTransfer_QB onWriteConnection()
     * @method _IH_MoneyTransfer_QB newQuery()
     * @method static _IH_MoneyTransfer_QB on(null|string $connection = null)
     * @method static _IH_MoneyTransfer_QB query()
     * @method static _IH_MoneyTransfer_QB with(array|string $relations)
     * @method _IH_MoneyTransfer_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_MoneyTransfer_C|MoneyTransfer[] all()
     * @ownLinks 
     * @mixin _IH_MoneyTransfer_QB
     */
    class MoneyTransfer extends Model {}
    
    /**
     * @property string $id
     * @property string|null $act
     * @property string|null $name
     * @property string|null $subj
     * @property string|null $email_body
     * @property string|null $sms_body
     * @property mixed|null $shortcodes
     * @property bool $email_status
     * @property bool $sms_status
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @method static _IH_NotificationTemplate_QB onWriteConnection()
     * @method _IH_NotificationTemplate_QB newQuery()
     * @method static _IH_NotificationTemplate_QB on(null|string $connection = null)
     * @method static _IH_NotificationTemplate_QB query()
     * @method static _IH_NotificationTemplate_QB with(array|string $relations)
     * @method _IH_NotificationTemplate_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_NotificationTemplate_C|NotificationTemplate[] all()
     * @mixin _IH_NotificationTemplate_QB
     */
    class NotificationTemplate extends Model {}
    
    /**
     * @property string $id
     * @property string $name
     * @property float $per_transaction_min_amount
     * @property float $per_transaction_max_amount
     * @property float $daily_transaction_max_amount
     * @property string $daily_transaction_limit
     * @property float $monthly_transaction_max_amount
     * @property string $monthly_transaction_limit
     * @property float $fixed_charge
     * @property float $percentage_charge
     * @property string $processing_time
     * @property string|null $instruction
     * @property string|null $form_id
     * @property bool $status 0 -> bank is inactive, 1 -> bank is active
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property string $status_badge attribute
     * @property _IH_Beneficiary_C|Beneficiary[] $beneficiaries
     * @property-read int $beneficiaries_count
     * @method MorphToMany|_IH_Beneficiary_QB beneficiaries()
     * @property Form|null $form
     * @method BelongsTo|_IH_Form_QB form()
     * @method static _IH_OtherBank_QB onWriteConnection()
     * @method _IH_OtherBank_QB newQuery()
     * @method static _IH_OtherBank_QB on(null|string $connection = null)
     * @method static _IH_OtherBank_QB query()
     * @method static _IH_OtherBank_QB with(array|string $relations)
     * @method _IH_OtherBank_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_OtherBank_C|OtherBank[] all()
     * @ownLinks 
     * @mixin _IH_OtherBank_QB
     */
    class OtherBank extends Model {}
    
    /**
     * @property string $email
     * @property string $code
     * @property Carbon|null $created_at
     * @method static _IH_PasswordReset_QB onWriteConnection()
     * @method _IH_PasswordReset_QB newQuery()
     * @method static _IH_PasswordReset_QB on(null|string $connection = null)
     * @method static _IH_PasswordReset_QB query()
     * @method static _IH_PasswordReset_QB with(array|string $relations)
     * @method _IH_PasswordReset_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_PasswordReset_C|PasswordReset[] all()
     * @mixin _IH_PasswordReset_QB
     */
    class PasswordReset extends Model {}
    
    /**
     * @property string $id
     * @property string $act
     * @property string $name
     * @property string $image
     * @property string $script
     * @property mixed $shortcode object
     * @property string $status
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property string $status_badge attribute
     * @method static _IH_Plugin_QB onWriteConnection()
     * @method _IH_Plugin_QB newQuery()
     * @method static _IH_Plugin_QB on(null|string $connection = null)
     * @method static _IH_Plugin_QB query()
     * @method static _IH_Plugin_QB with(array|string $relations)
     * @method _IH_Plugin_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_Plugin_C|Plugin[] all()
     * @mixin _IH_Plugin_QB
     */
    class Plugin extends Model {}
    
    /**
     * @property string $id
     * @property string $level
     * @property float $percentage commission will be in percentage
     * @method static _IH_ReferralSettings_QB onWriteConnection()
     * @method _IH_ReferralSettings_QB newQuery()
     * @method static _IH_ReferralSettings_QB on(null|string $connection = null)
     * @method static _IH_ReferralSettings_QB query()
     * @method static _IH_ReferralSettings_QB with(array|string $relations)
     * @method _IH_ReferralSettings_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_ReferralSettings_C|ReferralSettings[] all()
     * @mixin _IH_ReferralSettings_QB
     */
    class ReferralSettings extends Model {}
    
    /**
     * @property string $id
     * @property string|null $site_name
     * @property string|null $site_cur site currency text
     * @property string|null $cur_sym site currency symbol
     * @property string $per_page_item
     * @property string $fraction_digit
     * @property string $date_format
     * @property string|null $account_number_prefix
     * @property string|null $account_number_length
     * @property string|null $referral_tree_level
     * @property string|null $referral_commission_count The number of times a referrer will receive a referral commission.
     * @property string $referral_system 0 -> referral system is disabled, 1 -> referral system is enabled
     * @property string $otp_expiry
     * @property string $idle_timeout value in seconds
     * @property float $statement_download_fee
     * @property string|null $email_from
     * @property string|null $email_template
     * @property string|null $sms_body
     * @property string|null $sms_from
     * @property mixed|null $mail_config
     * @property mixed|null $sms_config
     * @property mixed|null $universal_shortcodes
     * @property string|null $primary_color
     * @property string|null $secondary_color
     * @property string $signup user registration
     * @property string $enforce_ssl enforce ssl
     * @property string $agree_policy accept terms and policy
     * @property string $strong_pass enforce strong password
     * @property string $kc kyc confirmation
     * @property string $ec email confirmation
     * @property string $ea email alert
     * @property string $sc sms confirmation
     * @property string $sa sms alert
     * @property string $site_maintenance
     * @property string $language
     * @property string $active_theme
     * @property Carbon|null $clean_cron
     * @property Carbon|null $dps_cron
     * @property Carbon|null $fds_cron
     * @property Carbon|null $loan_cron
     * @property bool $open_account
     * @property float $per_transaction_min_amount
     * @property float $per_transaction_max_amount
     * @property float $daily_transaction_max_amount
     * @property float $monthly_transaction_max_amount
     * @property float $fixed_charge
     * @property float $percentage_charge
     * @property bool $deposit
     * @property bool $withdraw
     * @property bool $dps
     * @property bool $fds
     * @property bool $loan
     * @property bool $internal_bank_transfer
     * @property bool $external_bank_transfer
     * @property bool $wire_transfer
     * @property bool $sms_based_otp
     * @property bool $email_based_otp
     * @property bool $auto_logout
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @method static _IH_Setting_QB onWriteConnection()
     * @method _IH_Setting_QB newQuery()
     * @method static _IH_Setting_QB on(null|string $connection = null)
     * @method static _IH_Setting_QB query()
     * @method static _IH_Setting_QB with(array|string $relations)
     * @method _IH_Setting_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_Setting_C|Setting[] all()
     * @mixin _IH_Setting_QB
     */
    class Setting extends Model {}
    
    /**
     * @property string $id
     * @property string|null $data_key
     * @property mixed|null $data_info
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @method static _IH_SiteData_QB onWriteConnection()
     * @method _IH_SiteData_QB newQuery()
     * @method static _IH_SiteData_QB on(null|string $connection = null)
     * @method static _IH_SiteData_QB query()
     * @method static _IH_SiteData_QB with(array|string $relations)
     * @method _IH_SiteData_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_SiteData_C|SiteData[] all()
     * @mixin _IH_SiteData_QB
     */
    class SiteData extends Model {}
    
    /**
     * @property string $id
     * @property string $name
     * @property string|null $image
     * @property string $username
     * @property string $email_address
     * @property string $contact_number
     * @property string $address
     * @property string $designation
     * @property string $password
     * @property bool $status 0: Inactive, 1: Active
     * @property string|null $remember_token
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property string $status_badge attribute
     * @property _IH_Branch_C|Branch[] $branches
     * @property-read int $branches_count
     * @method BelongsToMany|_IH_Branch_QB branches()
     * @property _IH_Deposit_C|Deposit[] $deposits
     * @property-read int $deposits_count
     * @method HasMany|_IH_Deposit_QB deposits()
     * @property _IH_Transaction_C|Transaction[] $transactions
     * @property-read int $transactions_count
     * @method HasMany|_IH_Transaction_QB transactions()
     * @property _IH_User_C|User[] $users
     * @property-read int $users_count
     * @method HasMany|_IH_User_QB users()
     * @property _IH_Withdrawal_C|Withdrawal[] $withdrawals
     * @property-read int $withdrawals_count
     * @method HasMany|_IH_Withdrawal_QB withdrawals()
     * @method static _IH_Staff_QB onWriteConnection()
     * @method _IH_Staff_QB newQuery()
     * @method static _IH_Staff_QB on(null|string $connection = null)
     * @method static _IH_Staff_QB query()
     * @method static _IH_Staff_QB with(array|string $relations)
     * @method _IH_Staff_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_Staff_C|Staff[] all()
     * @mixin _IH_Staff_QB
     */
    class Staff extends Model {}
    
    /**
     * @property string $email
     * @property string $token
     * @property Carbon|null $created_at
     * @method static _IH_StaffPasswordResetToken_QB onWriteConnection()
     * @method _IH_StaffPasswordResetToken_QB newQuery()
     * @method static _IH_StaffPasswordResetToken_QB on(null|string $connection = null)
     * @method static _IH_StaffPasswordResetToken_QB query()
     * @method static _IH_StaffPasswordResetToken_QB with(array|string $relations)
     * @method _IH_StaffPasswordResetToken_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_StaffPasswordResetToken_C|StaffPasswordResetToken[] all()
     * @mixin _IH_StaffPasswordResetToken_QB
     */
    class StaffPasswordResetToken extends Model {}
    
    /**
     * @property string $id
     * @property string $email
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @method static _IH_Subscriber_QB onWriteConnection()
     * @method _IH_Subscriber_QB newQuery()
     * @method static _IH_Subscriber_QB on(null|string $connection = null)
     * @method static _IH_Subscriber_QB query()
     * @method static _IH_Subscriber_QB with(array|string $relations)
     * @method _IH_Subscriber_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_Subscriber_C|Subscriber[] all()
     * @mixin _IH_Subscriber_QB
     */
    class Subscriber extends Model {}
    
    /**
     * @property string $id
     * @property string $user_id
     * @property string|null $branch_id
     * @property string|null $staff_id
     * @property float $amount
     * @property float $charge
     * @property float $post_balance
     * @property string|null $trx_type
     * @property string|null $trx
     * @property string|null $details
     * @property string|null $remark
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property Branch|null $branch
     * @method BelongsTo|_IH_Branch_QB branch()
     * @property Staff|null $staff
     * @method BelongsTo|_IH_Staff_QB staff()
     * @property User $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_Transaction_QB onWriteConnection()
     * @method _IH_Transaction_QB newQuery()
     * @method static _IH_Transaction_QB on(null|string $connection = null)
     * @method static _IH_Transaction_QB query()
     * @method static _IH_Transaction_QB with(array|string $relations)
     * @method _IH_Transaction_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_Transaction_C|Transaction[] all()
     * @ownLinks 
     * @mixin _IH_Transaction_QB
     */
    class Transaction extends Model {}
    
    /**
     * @property string $id
     * @property string|null $branch_id
     * @property string|null $staff_id
     * @property string|null $account_number
     * @property string|null $image
     * @property string|null $firstname
     * @property string|null $lastname
     * @property string $username
     * @property string $email
     * @property string|null $country_code
     * @property string|null $country_name
     * @property string|null $mobile
     * @property string $ref_by
     * @property string $referral_action_limit
     * @property float $balance
     * @property mixed $password
     * @property mixed|null $address
     * @property string $status 0: banned, 1: active
     * @property mixed|null $kyc_data
     * @property string $kc 0: KYC unconfirmed, 2: KYC pending, 1: KYC confirmed
     * @property string $ec 0: email unconfirmed, 1: email confirmed
     * @property string $sc 0: mobile unconfirmed, 1: mobile confirmed
     * @property string|null $ver_code stores verification code
     * @property Carbon|null $ver_code_send_at verification send time
     * @property string $ts 0: 2fa off, 1: 2fa on
     * @property string $tc 0: 2fa unconfirmed, 1: 2fa confirmed
     * @property string|null $tsc
     * @property string|null $ban_reason
     * @property string|null $remember_token
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property string $email_status_badge attribute
     * @property string $fullname attribute
     * @property string $mobile_status_badge attribute
     * @property string $status_badge attribute
     * @property _IH_Beneficiary_C|Beneficiary[] $beneficiaries
     * @property-read int $beneficiaries_count
     * @method MorphToMany|_IH_Beneficiary_QB beneficiaries()
     * @property Branch|null $branch
     * @method BelongsTo|_IH_Branch_QB branch()
     * @property _IH_DepositPensionScheme_C|DepositPensionScheme[] $depositPensionSchemes
     * @property-read int $deposit_pension_schemes_count
     * @method HasMany|_IH_DepositPensionScheme_QB depositPensionSchemes()
     * @property _IH_Deposit_C|Deposit[] $deposits
     * @property-read int $deposits_count
     * @method HasMany|_IH_Deposit_QB deposits()
     * @property _IH_FixedDepositScheme_C|FixedDepositScheme[] $fixedDepositSchemes
     * @property-read int $fixed_deposit_schemes_count
     * @method HasMany|_IH_FixedDepositScheme_QB fixedDepositSchemes()
     * @property _IH_Loan_C|Loan[] $loans
     * @property-read int $loans_count
     * @method HasMany|_IH_Loan_QB loans()
     * @property _IH_MoneyTransfer_C|MoneyTransfer[] $moneyTransfers
     * @property-read int $money_transfers_count
     * @method HasMany|_IH_MoneyTransfer_QB moneyTransfers()
     * @property DatabaseNotificationCollection|DatabaseNotification[] $notifications
     * @property-read int $notifications_count
     * @method MorphToMany|_IH_DatabaseNotification_QB notifications()
     * @property DatabaseNotificationCollection|DatabaseNotification[] $readNotifications
     * @property-read int $read_notifications_count
     * @method MorphToMany|_IH_DatabaseNotification_QB readNotifications()
     * @property _IH_User_C|User[] $referrals
     * @property-read int $referrals_count
     * @method HasMany|_IH_User_QB referrals()
     * @property User $referrer
     * @method BelongsTo|_IH_User_QB referrer()
     * @property Staff|null $staff
     * @method BelongsTo|_IH_Staff_QB staff()
     * @property _IH_Transaction_C|Transaction[] $transactions
     * @property-read int $transactions_count
     * @method HasMany|_IH_Transaction_QB transactions()
     * @property DatabaseNotificationCollection|DatabaseNotification[] $unreadNotifications
     * @property-read int $unread_notifications_count
     * @method MorphToMany|_IH_DatabaseNotification_QB unreadNotifications()
     * @property _IH_Withdrawal_C|Withdrawal[] $withdrawals
     * @property-read int $withdrawals_count
     * @method HasMany|_IH_Withdrawal_QB withdrawals()
     * @method static _IH_User_QB onWriteConnection()
     * @method _IH_User_QB newQuery()
     * @method static _IH_User_QB on(null|string $connection = null)
     * @method static _IH_User_QB query()
     * @method static _IH_User_QB with(array|string $relations)
     * @method _IH_User_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_User_C|User[] all()
     * @ownLinks 
     * @mixin _IH_User_QB
     */
    class User extends Model {}
    
    /**
     * @property string $id
     * @property float $per_transaction_min_amount
     * @property float $per_transaction_max_amount
     * @property float $daily_transaction_max_amount
     * @property string $daily_transaction_limit
     * @property float $monthly_transaction_max_amount
     * @property string $monthly_transaction_limit
     * @property float $fixed_charge
     * @property float $percentage_charge
     * @property string|null $instruction
     * @property string $form_id
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property Form $form
     * @method BelongsTo|_IH_Form_QB form()
     * @method static _IH_WireTransferSettings_QB onWriteConnection()
     * @method _IH_WireTransferSettings_QB newQuery()
     * @method static _IH_WireTransferSettings_QB on(null|string $connection = null)
     * @method static _IH_WireTransferSettings_QB query()
     * @method static _IH_WireTransferSettings_QB with(array|string $relations)
     * @method _IH_WireTransferSettings_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_WireTransferSettings_C|WireTransferSettings[] all()
     * @ownLinks 
     * @mixin _IH_WireTransferSettings_QB
     */
    class WireTransferSettings extends Model {}
    
    /**
     * @property string $id
     * @property string $form_id
     * @property string|null $name
     * @property float|null $min_amount
     * @property float $max_amount
     * @property float|null $fixed_charge
     * @property float|null $rate
     * @property float|null $percent_charge
     * @property string|null $currency
     * @property string|null $guideline
     * @property string $status
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property string $status_badge attribute
     * @property Form $form
     * @method BelongsTo|_IH_Form_QB form()
     * @method static _IH_WithdrawMethod_QB onWriteConnection()
     * @method _IH_WithdrawMethod_QB newQuery()
     * @method static _IH_WithdrawMethod_QB on(null|string $connection = null)
     * @method static _IH_WithdrawMethod_QB query()
     * @method static _IH_WithdrawMethod_QB with(array|string $relations)
     * @method _IH_WithdrawMethod_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_WithdrawMethod_C|WithdrawMethod[] all()
     * @ownLinks 
     * @mixin _IH_WithdrawMethod_QB
     */
    class WithdrawMethod extends Model {}
    
    /**
     * @property string $id
     * @property string $method_id
     * @property string $user_id
     * @property string|null $branch_id
     * @property string|null $staff_id
     * @property float $amount
     * @property string|null $currency
     * @property float $rate
     * @property float $charge
     * @property string|null $trx
     * @property float $final_amount
     * @property float $after_charge
     * @property mixed|null $withdraw_information
     * @property bool $status 1 => success, 2 => pending, 3 => cancel  
     * @property string|null $admin_feedback
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property string $status_badge attribute
     * @property Branch|null $branch
     * @method BelongsTo|_IH_Branch_QB branch()
     * @property WithdrawMethod $method
     * @method BelongsTo|_IH_WithdrawMethod_QB method()
     * @property Staff|null $staff
     * @method BelongsTo|_IH_Staff_QB staff()
     * @property User $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_Withdrawal_QB onWriteConnection()
     * @method _IH_Withdrawal_QB newQuery()
     * @method static _IH_Withdrawal_QB on(null|string $connection = null)
     * @method static _IH_Withdrawal_QB query()
     * @method static _IH_Withdrawal_QB with(array|string $relations)
     * @method _IH_Withdrawal_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_Withdrawal_C|Withdrawal[] all()
     * @ownLinks 
     * @mixin _IH_Withdrawal_QB
     */
    class Withdrawal extends Model {}
}