package payroll // SalaryComponent is a single position type SalaryComponent struct { Name string Type string Amount int64 Value int64 Details string } type Rule interface { Execute(data PayrollInput) []SalaryComponent }