"""
Define model parameters.
"""
Base.@kwdef mutable struct Parameters
step::Int = 0
# number of agents
n_f::Int = 100
n_hh::Int = 1000
n_bj::Int = 20
n_bk::Int = 20
# initial assumption GD/GDP
r::Float64 = 1.1
# shock
shock::String = "Missing"
sas::Int = 150 # shock at step
# values
value_dist::NTuple{4, Float64} = (0.25, 0.25, 0.25, 0.25)
scenario::String = "Baseline"
# model general parameters
g::Float64 = 200.0
τ::Float64 = 0.1
χ::Int = 5
λ::Float64 = 2.00687
ib::Float64 = 0.024
icb::Float64 = 0.02875
icbd::Float64 = 0.01925
icbl::Float64 = 0.03825
gy::Float64 = 0.0
gd::Float64 = 0.1
gk::Float64 = 0.15
δ::Float64 = 0.05
ρ::Float64 = 0.4
α1::Float64 = 0.8
α2::Float64 = 0.0 # SS-given: computed in the `SS_initial(model)` function
α3::Float64 = 0.2
χ1::Float64 = 0.0085
χ2::Float64 = 0.0095
χ3::Float64 = 0.0085
μ::Float64 = 0.2
v::Float64 = 0.1
γ::Float64 = 0.1
change_rates_hh::Float64 = 0.0
change_rates_firms::Float64 = 0.0
pref::Float64 = 0.01 # 1%
# ib parameters
σib::Float64 = 0.01
# ib initial values
ion::Float64 = 0.02875
iterm::Float64 = 0.02875
ion_prev::Float64 = 0.0
iterm_prev::Float64 = 0.0
end