// Code generated by pkg/commands/internal/migrate/cloner/cloner.go. DO NOT EDIT.

package versiontwo

type LintersSettings struct {
	FormatterSettings `yaml:"-,omitempty" toml:"-,multiline,omitempty"`

	Asasalint                AsasalintSettings                `yaml:"asasalint,omitempty" toml:"asasalint,multiline,omitempty"`
	BiDiChk                  BiDiChkSettings                  `yaml:"bidichk,omitempty" toml:"bidichk,multiline,omitempty"`
	CopyLoopVar              CopyLoopVarSettings              `yaml:"copyloopvar,omitempty" toml:"copyloopvar,multiline,omitempty"`
	Cyclop                   CyclopSettings                   `yaml:"cyclop,omitempty" toml:"cyclop,multiline,omitempty"`
	Decorder                 DecorderSettings                 `yaml:"decorder,omitempty" toml:"decorder,multiline,omitempty"`
	Depguard                 DepGuardSettings                 `yaml:"depguard,omitempty" toml:"depguard,multiline,omitempty"`
	Dogsled                  DogsledSettings                  `yaml:"dogsled,omitempty" toml:"dogsled,multiline,omitempty"`
	Dupl                     DuplSettings                     `yaml:"dupl,omitempty" toml:"dupl,multiline,omitempty"`
	DupWord                  DupWordSettings                  `yaml:"dupword,omitempty" toml:"dupword,multiline,omitempty"`
	EmbeddedStructFieldCheck EmbeddedStructFieldCheckSettings `yaml:"embeddedstructfieldcheck,omitempty" toml:"embeddedstructfieldcheck,multiline,omitempty"`
	Errcheck                 ErrcheckSettings                 `yaml:"errcheck,omitempty" toml:"errcheck,multiline,omitempty"`
	ErrChkJSON               ErrChkJSONSettings               `yaml:"errchkjson,omitempty" toml:"errchkjson,multiline,omitempty"`
	ErrorLint                ErrorLintSettings                `yaml:"errorlint,omitempty" toml:"errorlint,multiline,omitempty"`
	Exhaustive               ExhaustiveSettings               `yaml:"exhaustive,omitempty" toml:"exhaustive,multiline,omitempty"`
	Exhaustruct              ExhaustructSettings              `yaml:"exhaustruct,omitempty" toml:"exhaustruct,multiline,omitempty"`
	Fatcontext               FatcontextSettings               `yaml:"fatcontext,omitempty" toml:"fatcontext,multiline,omitempty"`
	Forbidigo                ForbidigoSettings                `yaml:"forbidigo,omitempty" toml:"forbidigo,multiline,omitempty"`
	FuncOrder                FuncOrderSettings                `yaml:"funcorder,omitempty" toml:"funcorder,multiline,omitempty"`
	Funlen                   FunlenSettings                   `yaml:"funlen,omitempty" toml:"funlen,multiline,omitempty"`
	GinkgoLinter             GinkgoLinterSettings             `yaml:"ginkgolinter,omitempty" toml:"ginkgolinter,multiline,omitempty"`
	Gocognit                 GocognitSettings                 `yaml:"gocognit,omitempty" toml:"gocognit,multiline,omitempty"`
	GoChecksumType           GoChecksumTypeSettings           `yaml:"gochecksumtype,omitempty" toml:"gochecksumtype,multiline,omitempty"`
	Goconst                  GoConstSettings                  `yaml:"goconst,omitempty" toml:"goconst,multiline,omitempty"`
	Gocritic                 GoCriticSettings                 `yaml:"gocritic,omitempty" toml:"gocritic,multiline,omitempty"`
	Gocyclo                  GoCycloSettings                  `yaml:"gocyclo,omitempty" toml:"gocyclo,multiline,omitempty"`
	Godot                    GodotSettings                    `yaml:"godot,omitempty" toml:"godot,multiline,omitempty"`
	Godox                    GodoxSettings                    `yaml:"godox,omitempty" toml:"godox,multiline,omitempty"`
	Goheader                 GoHeaderSettings                 `yaml:"goheader,omitempty" toml:"goheader,multiline,omitempty"`
	GoModDirectives          GoModDirectivesSettings          `yaml:"gomoddirectives,omitempty" toml:"gomoddirectives,multiline,omitempty"`
	Gomodguard               GoModGuardSettings               `yaml:"gomodguard,omitempty" toml:"gomodguard,multiline,omitempty"`
	Gosec                    GoSecSettings                    `yaml:"gosec,omitempty" toml:"gosec,multiline,omitempty"`
	Gosmopolitan             GosmopolitanSettings             `yaml:"gosmopolitan,omitempty" toml:"gosmopolitan,multiline,omitempty"`
	Govet                    GovetSettings                    `yaml:"govet,omitempty" toml:"govet,multiline,omitempty"`
	Grouper                  GrouperSettings                  `yaml:"grouper,omitempty" toml:"grouper,multiline,omitempty"`
	Iface                    IfaceSettings                    `yaml:"iface,omitempty" toml:"iface,multiline,omitempty"`
	ImportAs                 ImportAsSettings                 `yaml:"importas,omitempty" toml:"importas,multiline,omitempty"`
	Inamedparam              INamedParamSettings              `yaml:"inamedparam,omitempty" toml:"inamedparam,multiline,omitempty"`
	InterfaceBloat           InterfaceBloatSettings           `yaml:"interfacebloat,omitempty" toml:"interfacebloat,multiline,omitempty"`
	Ireturn                  IreturnSettings                  `yaml:"ireturn,omitempty" toml:"ireturn,multiline,omitempty"`
	Lll                      LllSettings                      `yaml:"lll,omitempty" toml:"lll,multiline,omitempty"`
	LoggerCheck              LoggerCheckSettings              `yaml:"loggercheck,omitempty" toml:"loggercheck,multiline,omitempty"`
	MaintIdx                 MaintIdxSettings                 `yaml:"maintidx,omitempty" toml:"maintidx,multiline,omitempty"`
	Makezero                 MakezeroSettings                 `yaml:"makezero,omitempty" toml:"makezero,multiline,omitempty"`
	Misspell                 MisspellSettings                 `yaml:"misspell,omitempty" toml:"misspell,multiline,omitempty"`
	Mnd                      MndSettings                      `yaml:"mnd,omitempty" toml:"mnd,multiline,omitempty"`
	MustTag                  MustTagSettings                  `yaml:"musttag,omitempty" toml:"musttag,multiline,omitempty"`
	Nakedret                 NakedretSettings                 `yaml:"nakedret,omitempty" toml:"nakedret,multiline,omitempty"`
	Nestif                   NestifSettings                   `yaml:"nestif,omitempty" toml:"nestif,multiline,omitempty"`
	NilNil                   NilNilSettings                   `yaml:"nilnil,omitempty" toml:"nilnil,multiline,omitempty"`
	Nlreturn                 NlreturnSettings                 `yaml:"nlreturn,omitempty" toml:"nlreturn,multiline,omitempty"`
	NoLintLint               NoLintLintSettings               `yaml:"nolintlint,omitempty" toml:"nolintlint,multiline,omitempty"`
	NoNamedReturns           NoNamedReturnsSettings           `yaml:"nonamedreturns,omitempty" toml:"nonamedreturns,multiline,omitempty"`
	ParallelTest             ParallelTestSettings             `yaml:"paralleltest,omitempty" toml:"paralleltest,multiline,omitempty"`
	PerfSprint               PerfSprintSettings               `yaml:"perfsprint,omitempty" toml:"perfsprint,multiline,omitempty"`
	Prealloc                 PreallocSettings                 `yaml:"prealloc,omitempty" toml:"prealloc,multiline,omitempty"`
	Predeclared              PredeclaredSettings              `yaml:"predeclared,omitempty" toml:"predeclared,multiline,omitempty"`
	Promlinter               PromlinterSettings               `yaml:"promlinter,omitempty" toml:"promlinter,multiline,omitempty"`
	ProtoGetter              ProtoGetterSettings              `yaml:"protogetter,omitempty" toml:"protogetter,multiline,omitempty"`
	Reassign                 ReassignSettings                 `yaml:"reassign,omitempty" toml:"reassign,multiline,omitempty"`
	Recvcheck                RecvcheckSettings                `yaml:"recvcheck,omitempty" toml:"recvcheck,multiline,omitempty"`
	Revive                   ReviveSettings                   `yaml:"revive,omitempty" toml:"revive,multiline,omitempty"`
	RowsErrCheck             RowsErrCheckSettings             `yaml:"rowserrcheck,omitempty" toml:"rowserrcheck,multiline,omitempty"`
	SlogLint                 SlogLintSettings                 `yaml:"sloglint,omitempty" toml:"sloglint,multiline,omitempty"`
	Spancheck                SpancheckSettings                `yaml:"spancheck,omitempty" toml:"spancheck,multiline,omitempty"`
	Staticcheck              StaticCheckSettings              `yaml:"staticcheck,omitempty" toml:"staticcheck,multiline,omitempty"`
	TagAlign                 TagAlignSettings                 `yaml:"tagalign,omitempty" toml:"tagalign,multiline,omitempty"`
	Tagliatelle              TagliatelleSettings              `yaml:"tagliatelle,omitempty" toml:"tagliatelle,multiline,omitempty"`
	Testifylint              TestifylintSettings              `yaml:"testifylint,omitempty" toml:"testifylint,multiline,omitempty"`
	Testpackage              TestpackageSettings              `yaml:"testpackage,omitempty" toml:"testpackage,multiline,omitempty"`
	Thelper                  ThelperSettings                  `yaml:"thelper,omitempty" toml:"thelper,multiline,omitempty"`
	Unconvert                UnconvertSettings                `yaml:"unconvert,omitempty" toml:"unconvert,multiline,omitempty"`
	Unparam                  UnparamSettings                  `yaml:"unparam,omitempty" toml:"unparam,multiline,omitempty"`
	Unused                   UnusedSettings                   `yaml:"unused,omitempty" toml:"unused,multiline,omitempty"`
	UseStdlibVars            UseStdlibVarsSettings            `yaml:"usestdlibvars,omitempty" toml:"usestdlibvars,multiline,omitempty"`
	UseTesting               UseTestingSettings               `yaml:"usetesting,omitempty" toml:"usetesting,multiline,omitempty"`
	Varnamelen               VarnamelenSettings               `yaml:"varnamelen,omitempty" toml:"varnamelen,multiline,omitempty"`
	Whitespace               WhitespaceSettings               `yaml:"whitespace,omitempty" toml:"whitespace,multiline,omitempty"`
	Wrapcheck                WrapcheckSettings                `yaml:"wrapcheck,omitempty" toml:"wrapcheck,multiline,omitempty"`
	WSL                      WSLv4Settings                    `yaml:"wsl,omitempty" toml:"wsl,multiline,omitempty"`
	WSLv5                    WSLv5Settings                    `yaml:"wsl_v5,omitempty" toml:"wsl_v5,multiline,omitempty"`

	Custom map[string]CustomLinterSettings `yaml:"custom,omitempty" toml:"custom,multiline,omitempty"`
}

type AsasalintSettings struct {
	Exclude              []string `yaml:"exclude,omitempty" toml:"exclude,multiline,omitempty"`
	UseBuiltinExclusions *bool    `yaml:"use-builtin-exclusions,omitempty" toml:"use-builtin-exclusions,multiline,omitempty"`
}

type BiDiChkSettings struct {
	LeftToRightEmbedding     *bool `yaml:"left-to-right-embedding,omitempty" toml:"left-to-right-embedding,multiline,omitempty"`
	RightToLeftEmbedding     *bool `yaml:"right-to-left-embedding,omitempty" toml:"right-to-left-embedding,multiline,omitempty"`
	PopDirectionalFormatting *bool `yaml:"pop-directional-formatting,omitempty" toml:"pop-directional-formatting,multiline,omitempty"`
	LeftToRightOverride      *bool `yaml:"left-to-right-override,omitempty" toml:"left-to-right-override,multiline,omitempty"`
	RightToLeftOverride      *bool `yaml:"right-to-left-override,omitempty" toml:"right-to-left-override,multiline,omitempty"`
	LeftToRightIsolate       *bool `yaml:"left-to-right-isolate,omitempty" toml:"left-to-right-isolate,multiline,omitempty"`
	RightToLeftIsolate       *bool `yaml:"right-to-left-isolate,omitempty" toml:"right-to-left-isolate,multiline,omitempty"`
	FirstStrongIsolate       *bool `yaml:"first-strong-isolate,omitempty" toml:"first-strong-isolate,multiline,omitempty"`
	PopDirectionalIsolate    *bool `yaml:"pop-directional-isolate,omitempty" toml:"pop-directional-isolate,multiline,omitempty"`
}

type CopyLoopVarSettings struct {
	CheckAlias *bool `yaml:"check-alias,omitempty" toml:"check-alias,multiline,omitempty"`
}

type CyclopSettings struct {
	MaxComplexity  *int     `yaml:"max-complexity,omitempty" toml:"max-complexity,multiline,omitempty"`
	PackageAverage *float64 `yaml:"package-average,omitempty" toml:"package-average,multiline,omitempty"`
}

type DepGuardSettings struct {
	Rules map[string]*DepGuardList `yaml:"rules,omitempty" toml:"rules,multiline,omitempty"`
}

type DepGuardList struct {
	ListMode *string        `yaml:"list-mode,omitempty" toml:"list-mode,multiline,omitempty"`
	Files    []string       `yaml:"files,omitempty" toml:"files,multiline,omitempty"`
	Allow    []string       `yaml:"allow,omitempty" toml:"allow,multiline,omitempty"`
	Deny     []DepGuardDeny `yaml:"deny,omitempty" toml:"deny,multiline,omitempty"`
}

type DepGuardDeny struct {
	Pkg  *string `yaml:"pkg,omitempty" toml:"pkg,multiline,omitempty"`
	Desc *string `yaml:"desc,omitempty" toml:"desc,multiline,omitempty"`
}

type DecorderSettings struct {
	DecOrder                  []string `yaml:"dec-order,omitempty" toml:"dec-order,multiline,omitempty"`
	IgnoreUnderscoreVars      *bool    `yaml:"ignore-underscore-vars,omitempty" toml:"ignore-underscore-vars,multiline,omitempty"`
	DisableDecNumCheck        *bool    `yaml:"disable-dec-num-check,omitempty" toml:"disable-dec-num-check,multiline,omitempty"`
	DisableTypeDecNumCheck    *bool    `yaml:"disable-type-dec-num-check,omitempty" toml:"disable-type-dec-num-check,multiline,omitempty"`
	DisableConstDecNumCheck   *bool    `yaml:"disable-const-dec-num-check,omitempty" toml:"disable-const-dec-num-check,multiline,omitempty"`
	DisableVarDecNumCheck     *bool    `yaml:"disable-var-dec-num-check,omitempty" toml:"disable-var-dec-num-check,multiline,omitempty"`
	DisableDecOrderCheck      *bool    `yaml:"disable-dec-order-check,omitempty" toml:"disable-dec-order-check,multiline,omitempty"`
	DisableInitFuncFirstCheck *bool    `yaml:"disable-init-func-first-check,omitempty" toml:"disable-init-func-first-check,multiline,omitempty"`
}

type DogsledSettings struct {
	MaxBlankIdentifiers *int `yaml:"max-blank-identifiers,omitempty" toml:"max-blank-identifiers,multiline,omitempty"`
}

type DuplSettings struct {
	Threshold *int `yaml:"threshold,omitempty" toml:"threshold,multiline,omitempty"`
}

type DupWordSettings struct {
	Keywords []string `yaml:"keywords,omitempty" toml:"keywords,multiline,omitempty"`
	Ignore   []string `yaml:"ignore,omitempty" toml:"ignore,multiline,omitempty"`
}

type EmbeddedStructFieldCheckSettings struct {
	ForbidMutex *bool `yaml:"forbid-mutex,omitempty" toml:"forbid-mutex,multiline,omitempty"`
}

type ErrcheckSettings struct {
	DisableDefaultExclusions *bool    `yaml:"disable-default-exclusions,omitempty" toml:"disable-default-exclusions,multiline,omitempty"`
	CheckTypeAssertions      *bool    `yaml:"check-type-assertions,omitempty" toml:"check-type-assertions,multiline,omitempty"`
	CheckAssignToBlank       *bool    `yaml:"check-blank,omitempty" toml:"check-blank,multiline,omitempty"`
	ExcludeFunctions         []string `yaml:"exclude-functions,omitempty" toml:"exclude-functions,multiline,omitempty"`
	Verbose                  *bool    `yaml:"verbose,omitempty" toml:"verbose,multiline,omitempty"`
}

type ErrChkJSONSettings struct {
	CheckErrorFreeEncoding *bool `yaml:"check-error-free-encoding,omitempty" toml:"check-error-free-encoding,multiline,omitempty"`
	ReportNoExported       *bool `yaml:"report-no-exported,omitempty" toml:"report-no-exported,multiline,omitempty"`
}

type ErrorLintSettings struct {
	Errorf                *bool                `yaml:"errorf,omitempty" toml:"errorf,multiline,omitempty"`
	ErrorfMulti           *bool                `yaml:"errorf-multi,omitempty" toml:"errorf-multi,multiline,omitempty"`
	Asserts               *bool                `yaml:"asserts,omitempty" toml:"asserts,multiline,omitempty"`
	Comparison            *bool                `yaml:"comparison,omitempty" toml:"comparison,multiline,omitempty"`
	AllowedErrors         []ErrorLintAllowPair `yaml:"allowed-errors,omitempty" toml:"allowed-errors,multiline,omitempty"`
	AllowedErrorsWildcard []ErrorLintAllowPair `yaml:"allowed-errors-wildcard,omitempty" toml:"allowed-errors-wildcard,multiline,omitempty"`
}

type ErrorLintAllowPair struct {
	Err *string `yaml:"err,omitempty" toml:"err,multiline,omitempty"`
	Fun *string `yaml:"fun,omitempty" toml:"fun,multiline,omitempty"`
}

type ExhaustiveSettings struct {
	Check                      []string `yaml:"check,omitempty" toml:"check,multiline,omitempty"`
	DefaultSignifiesExhaustive *bool    `yaml:"default-signifies-exhaustive,omitempty" toml:"default-signifies-exhaustive,multiline,omitempty"`
	IgnoreEnumMembers          *string  `yaml:"ignore-enum-members,omitempty" toml:"ignore-enum-members,multiline,omitempty"`
	IgnoreEnumTypes            *string  `yaml:"ignore-enum-types,omitempty" toml:"ignore-enum-types,multiline,omitempty"`
	PackageScopeOnly           *bool    `yaml:"package-scope-only,omitempty" toml:"package-scope-only,multiline,omitempty"`
	ExplicitExhaustiveMap      *bool    `yaml:"explicit-exhaustive-map,omitempty" toml:"explicit-exhaustive-map,multiline,omitempty"`
	ExplicitExhaustiveSwitch   *bool    `yaml:"explicit-exhaustive-switch,omitempty" toml:"explicit-exhaustive-switch,multiline,omitempty"`
	DefaultCaseRequired        *bool    `yaml:"default-case-required,omitempty" toml:"default-case-required,multiline,omitempty"`
}

type ExhaustructSettings struct {
	Include []string `yaml:"include,omitempty" toml:"include,multiline,omitempty"`
	Exclude []string `yaml:"exclude,omitempty" toml:"exclude,multiline,omitempty"`
}

type FatcontextSettings struct {
	CheckStructPointers *bool `yaml:"check-struct-pointers,omitempty" toml:"check-struct-pointers,multiline,omitempty"`
}

type ForbidigoSettings struct {
	Forbid               []ForbidigoPattern `yaml:"forbid,omitempty" toml:"forbid,multiline,omitempty"`
	ExcludeGodocExamples *bool              `yaml:"exclude-godoc-examples,omitempty" toml:"exclude-godoc-examples,multiline,omitempty"`
	AnalyzeTypes         *bool              `yaml:"analyze-types,omitempty" toml:"analyze-types,multiline,omitempty"`
}

type ForbidigoPattern struct {
	Pattern *string `yaml:"pattern,omitempty" toml:"pattern,multiline,omitempty"`
	Package *string `yaml:"pkg,omitempty,omitempty" toml:"pkg,omitempty,multiline,omitempty"`
	Msg     *string `yaml:"msg,omitempty,omitempty" toml:"msg,omitempty,multiline,omitempty"`
}

type FuncOrderSettings struct {
	Constructor  *bool `yaml:"constructor,omitempty,omitempty" toml:"constructor,omitempty,multiline,omitempty"`
	StructMethod *bool `yaml:"struct-method,omitempty,omitempty" toml:"struct-method,omitempty,multiline,omitempty"`
	Alphabetical *bool `yaml:"alphabetical,omitempty,omitempty" toml:"alphabetical,omitempty,multiline,omitempty"`
}

type FunlenSettings struct {
	Lines          *int  `yaml:"lines,omitempty" toml:"lines,multiline,omitempty"`
	Statements     *int  `yaml:"statements,omitempty" toml:"statements,multiline,omitempty"`
	IgnoreComments *bool `yaml:"ignore-comments,omitempty" toml:"ignore-comments,multiline,omitempty"`
}

type GinkgoLinterSettings struct {
	SuppressLenAssertion       *bool `yaml:"suppress-len-assertion,omitempty" toml:"suppress-len-assertion,multiline,omitempty"`
	SuppressNilAssertion       *bool `yaml:"suppress-nil-assertion,omitempty" toml:"suppress-nil-assertion,multiline,omitempty"`
	SuppressErrAssertion       *bool `yaml:"suppress-err-assertion,omitempty" toml:"suppress-err-assertion,multiline,omitempty"`
	SuppressCompareAssertion   *bool `yaml:"suppress-compare-assertion,omitempty" toml:"suppress-compare-assertion,multiline,omitempty"`
	SuppressAsyncAssertion     *bool `yaml:"suppress-async-assertion,omitempty" toml:"suppress-async-assertion,multiline,omitempty"`
	SuppressTypeCompareWarning *bool `yaml:"suppress-type-compare-assertion,omitempty" toml:"suppress-type-compare-assertion,multiline,omitempty"`
	ForbidFocusContainer       *bool `yaml:"forbid-focus-container,omitempty" toml:"forbid-focus-container,multiline,omitempty"`
	AllowHaveLenZero           *bool `yaml:"allow-havelen-zero,omitempty" toml:"allow-havelen-zero,multiline,omitempty"`
	ForceExpectTo              *bool `yaml:"force-expect-to,omitempty" toml:"force-expect-to,multiline,omitempty"`
	ValidateAsyncIntervals     *bool `yaml:"validate-async-intervals,omitempty" toml:"validate-async-intervals,multiline,omitempty"`
	ForbidSpecPollution        *bool `yaml:"forbid-spec-pollution,omitempty" toml:"forbid-spec-pollution,multiline,omitempty"`
	ForceSucceedForFuncs       *bool `yaml:"force-succeed,omitempty" toml:"force-succeed,multiline,omitempty"`
}

type GoChecksumTypeSettings struct {
	DefaultSignifiesExhaustive *bool `yaml:"default-signifies-exhaustive,omitempty" toml:"default-signifies-exhaustive,multiline,omitempty"`
	IncludeSharedInterfaces    *bool `yaml:"include-shared-interfaces,omitempty" toml:"include-shared-interfaces,multiline,omitempty"`
}

type GocognitSettings struct {
	MinComplexity *int `yaml:"min-complexity,omitempty" toml:"min-complexity,multiline,omitempty"`
}

type GoConstSettings struct {
	IgnoreStringValues   []string `yaml:"ignore-string-values,omitempty" toml:"ignore-string-values,multiline,omitempty"`
	MatchWithConstants   *bool    `yaml:"match-constant,omitempty" toml:"match-constant,multiline,omitempty"`
	MinStringLen         *int     `yaml:"min-len,omitempty" toml:"min-len,multiline,omitempty"`
	MinOccurrencesCount  *int     `yaml:"min-occurrences,omitempty" toml:"min-occurrences,multiline,omitempty"`
	ParseNumbers         *bool    `yaml:"numbers,omitempty" toml:"numbers,multiline,omitempty"`
	NumberMin            *int     `yaml:"min,omitempty" toml:"min,multiline,omitempty"`
	NumberMax            *int     `yaml:"max,omitempty" toml:"max,multiline,omitempty"`
	IgnoreCalls          *bool    `yaml:"ignore-calls,omitempty" toml:"ignore-calls,multiline,omitempty"`
	FindDuplicates       *bool    `yaml:"find-duplicates,omitempty" toml:"find-duplicates,multiline,omitempty"`
	EvalConstExpressions *bool    `yaml:"eval-const-expressions,omitempty" toml:"eval-const-expressions,multiline,omitempty"`

	IgnoreStrings *string `yaml:"ignore-strings,omitempty" toml:"ignore-strings,multiline,omitempty"`
}

type GoCriticSettings struct {
	Go               *string                          `yaml:"-,omitempty" toml:"-,multiline,omitempty"`
	DisableAll       *bool                            `yaml:"disable-all,omitempty" toml:"disable-all,multiline,omitempty"`
	EnabledChecks    []string                         `yaml:"enabled-checks,omitempty" toml:"enabled-checks,multiline,omitempty"`
	EnableAll        *bool                            `yaml:"enable-all,omitempty" toml:"enable-all,multiline,omitempty"`
	DisabledChecks   []string                         `yaml:"disabled-checks,omitempty" toml:"disabled-checks,multiline,omitempty"`
	EnabledTags      []string                         `yaml:"enabled-tags,omitempty" toml:"enabled-tags,multiline,omitempty"`
	DisabledTags     []string                         `yaml:"disabled-tags,omitempty" toml:"disabled-tags,multiline,omitempty"`
	SettingsPerCheck map[string]GoCriticCheckSettings `yaml:"settings,omitempty" toml:"settings,multiline,omitempty"`
}

type GoCriticCheckSettings map[string]any

type GoCycloSettings struct {
	MinComplexity *int `yaml:"min-complexity,omitempty" toml:"min-complexity,multiline,omitempty"`
}

type GodotSettings struct {
	Scope   *string  `yaml:"scope,omitempty" toml:"scope,multiline,omitempty"`
	Exclude []string `yaml:"exclude,omitempty" toml:"exclude,multiline,omitempty"`
	Capital *bool    `yaml:"capital,omitempty" toml:"capital,multiline,omitempty"`
	Period  *bool    `yaml:"period,omitempty" toml:"period,multiline,omitempty"`
}

type GodoxSettings struct {
	Keywords []string `yaml:"keywords,omitempty" toml:"keywords,multiline,omitempty"`
}

type GoHeaderSettings struct {
	Values       map[string]map[string]string `yaml:"values,omitempty" toml:"values,multiline,omitempty"`
	Template     *string                      `yaml:"template,omitempty" toml:"template,multiline,omitempty"`
	TemplatePath *string                      `yaml:"template-path,omitempty" toml:"template-path,multiline,omitempty"`
}

type GoModDirectivesSettings struct {
	ReplaceAllowList          []string `yaml:"replace-allow-list,omitempty" toml:"replace-allow-list,multiline,omitempty"`
	ReplaceLocal              *bool    `yaml:"replace-local,omitempty" toml:"replace-local,multiline,omitempty"`
	ExcludeForbidden          *bool    `yaml:"exclude-forbidden,omitempty" toml:"exclude-forbidden,multiline,omitempty"`
	RetractAllowNoExplanation *bool    `yaml:"retract-allow-no-explanation,omitempty" toml:"retract-allow-no-explanation,multiline,omitempty"`
	ToolchainForbidden        *bool    `yaml:"toolchain-forbidden,omitempty" toml:"toolchain-forbidden,multiline,omitempty"`
	ToolchainPattern          *string  `yaml:"toolchain-pattern,omitempty" toml:"toolchain-pattern,multiline,omitempty"`
	ToolForbidden             *bool    `yaml:"tool-forbidden,omitempty" toml:"tool-forbidden,multiline,omitempty"`
	GoDebugForbidden          *bool    `yaml:"go-debug-forbidden,omitempty" toml:"go-debug-forbidden,multiline,omitempty"`
	GoVersionPattern          *string  `yaml:"go-version-pattern,omitempty" toml:"go-version-pattern,multiline,omitempty"`
}

type GoModGuardSettings struct {
	Allowed GoModGuardAllowed `yaml:"allowed,omitempty" toml:"allowed,multiline,omitempty"`
	Blocked GoModGuardBlocked `yaml:"blocked,omitempty" toml:"blocked,multiline,omitempty"`
}

type GoModGuardAllowed struct {
	Modules []string `yaml:"modules,omitempty" toml:"modules,multiline,omitempty"`
	Domains []string `yaml:"domains,omitempty" toml:"domains,multiline,omitempty"`
}

type GoModGuardBlocked struct {
	Modules                []map[string]GoModGuardModule  `yaml:"modules,omitempty" toml:"modules,multiline,omitempty"`
	Versions               []map[string]GoModGuardVersion `yaml:"versions,omitempty" toml:"versions,multiline,omitempty"`
	LocalReplaceDirectives *bool                          `yaml:"local-replace-directives,omitempty" toml:"local-replace-directives,multiline,omitempty"`
}

type GoModGuardModule struct {
	Recommendations []string `yaml:"recommendations,omitempty" toml:"recommendations,multiline,omitempty"`
	Reason          *string  `yaml:"reason,omitempty" toml:"reason,multiline,omitempty"`
}

type GoModGuardVersion struct {
	Version *string `yaml:"version,omitempty" toml:"version,multiline,omitempty"`
	Reason  *string `yaml:"reason,omitempty" toml:"reason,multiline,omitempty"`
}

type GoSecSettings struct {
	Includes    []string       `yaml:"includes,omitempty" toml:"includes,multiline,omitempty"`
	Excludes    []string       `yaml:"excludes,omitempty" toml:"excludes,multiline,omitempty"`
	Severity    *string        `yaml:"severity,omitempty" toml:"severity,multiline,omitempty"`
	Confidence  *string        `yaml:"confidence,omitempty" toml:"confidence,multiline,omitempty"`
	Config      map[string]any `yaml:"config,omitempty" toml:"config,multiline,omitempty"`
	Concurrency *int           `yaml:"concurrency,omitempty" toml:"concurrency,multiline,omitempty"`
}

type GosmopolitanSettings struct {
	AllowTimeLocal  *bool    `yaml:"allow-time-local,omitempty" toml:"allow-time-local,multiline,omitempty"`
	EscapeHatches   []string `yaml:"escape-hatches,omitempty" toml:"escape-hatches,multiline,omitempty"`
	WatchForScripts []string `yaml:"watch-for-scripts,omitempty" toml:"watch-for-scripts,multiline,omitempty"`
}

type GovetSettings struct {
	Go *string `yaml:"-,omitempty" toml:"-,multiline,omitempty"`

	Enable     []string `yaml:"enable,omitempty" toml:"enable,multiline,omitempty"`
	Disable    []string `yaml:"disable,omitempty" toml:"disable,multiline,omitempty"`
	EnableAll  *bool    `yaml:"enable-all,omitempty" toml:"enable-all,multiline,omitempty"`
	DisableAll *bool    `yaml:"disable-all,omitempty" toml:"disable-all,multiline,omitempty"`

	Settings map[string]map[string]any `yaml:"settings,omitempty" toml:"settings,multiline,omitempty"`
}

type GrouperSettings struct {
	ConstRequireSingleConst   *bool `yaml:"const-require-single-const,omitempty" toml:"const-require-single-const,multiline,omitempty"`
	ConstRequireGrouping      *bool `yaml:"const-require-grouping,omitempty" toml:"const-require-grouping,multiline,omitempty"`
	ImportRequireSingleImport *bool `yaml:"import-require-single-import,omitempty" toml:"import-require-single-import,multiline,omitempty"`
	ImportRequireGrouping     *bool `yaml:"import-require-grouping,omitempty" toml:"import-require-grouping,multiline,omitempty"`
	TypeRequireSingleType     *bool `yaml:"type-require-single-type,omitempty" toml:"type-require-single-type,multiline,omitempty"`
	TypeRequireGrouping       *bool `yaml:"type-require-grouping,omitempty" toml:"type-require-grouping,multiline,omitempty"`
	VarRequireSingleVar       *bool `yaml:"var-require-single-var,omitempty" toml:"var-require-single-var,multiline,omitempty"`
	VarRequireGrouping        *bool `yaml:"var-require-grouping,omitempty" toml:"var-require-grouping,multiline,omitempty"`
}

type IfaceSettings struct {
	Enable   []string                  `yaml:"enable,omitempty" toml:"enable,multiline,omitempty"`
	Settings map[string]map[string]any `yaml:"settings,omitempty" toml:"settings,multiline,omitempty"`
}

type ImportAsSettings struct {
	Alias          []ImportAsAlias `yaml:"alias,omitempty" toml:"alias,multiline,omitempty"`
	NoUnaliased    *bool           `yaml:"no-unaliased,omitempty" toml:"no-unaliased,multiline,omitempty"`
	NoExtraAliases *bool           `yaml:"no-extra-aliases,omitempty" toml:"no-extra-aliases,multiline,omitempty"`
}

type ImportAsAlias struct {
	Pkg   *string `yaml:"pkg,omitempty" toml:"pkg,multiline,omitempty"`
	Alias *string `yaml:"alias,omitempty" toml:"alias,multiline,omitempty"`
}

type INamedParamSettings struct {
	SkipSingleParam *bool `yaml:"skip-single-param,omitempty" toml:"skip-single-param,multiline,omitempty"`
}

type InterfaceBloatSettings struct {
	Max *int `yaml:"max,omitempty" toml:"max,multiline,omitempty"`
}

type IreturnSettings struct {
	Allow  []string `yaml:"allow,omitempty" toml:"allow,multiline,omitempty"`
	Reject []string `yaml:"reject,omitempty" toml:"reject,multiline,omitempty"`
}

type LllSettings struct {
	LineLength *int `yaml:"line-length,omitempty" toml:"line-length,multiline,omitempty"`
	TabWidth   *int `yaml:"tab-width,omitempty" toml:"tab-width,multiline,omitempty"`
}

type LoggerCheckSettings struct {
	Kitlog           *bool    `yaml:"kitlog,omitempty" toml:"kitlog,multiline,omitempty"`
	Klog             *bool    `yaml:"klog,omitempty" toml:"klog,multiline,omitempty"`
	Logr             *bool    `yaml:"logr,omitempty" toml:"logr,multiline,omitempty"`
	Slog             *bool    `yaml:"slog,omitempty" toml:"slog,multiline,omitempty"`
	Zap              *bool    `yaml:"zap,omitempty" toml:"zap,multiline,omitempty"`
	RequireStringKey *bool    `yaml:"require-string-key,omitempty" toml:"require-string-key,multiline,omitempty"`
	NoPrintfLike     *bool    `yaml:"no-printf-like,omitempty" toml:"no-printf-like,multiline,omitempty"`
	Rules            []string `yaml:"rules,omitempty" toml:"rules,multiline,omitempty"`
}

type MaintIdxSettings struct {
	Under *int `yaml:"under,omitempty" toml:"under,multiline,omitempty"`
}

type MakezeroSettings struct {
	Always *bool `yaml:"always,omitempty" toml:"always,multiline,omitempty"`
}

type MisspellSettings struct {
	Mode        *string              `yaml:"mode,omitempty" toml:"mode,multiline,omitempty"`
	Locale      *string              `yaml:"locale,omitempty" toml:"locale,multiline,omitempty"`
	ExtraWords  []MisspellExtraWords `yaml:"extra-words,omitempty" toml:"extra-words,multiline,omitempty"`
	IgnoreRules []string             `yaml:"ignore-rules,omitempty" toml:"ignore-rules,multiline,omitempty"`
}

type MisspellExtraWords struct {
	Typo       *string `yaml:"typo,omitempty" toml:"typo,multiline,omitempty"`
	Correction *string `yaml:"correction,omitempty" toml:"correction,multiline,omitempty"`
}

type MustTagSettings struct {
	Functions []MustTagFunction `yaml:"functions,omitempty" toml:"functions,multiline,omitempty"`
}

type MustTagFunction struct {
	Name   *string `yaml:"name,omitempty" toml:"name,multiline,omitempty"`
	Tag    *string `yaml:"tag,omitempty" toml:"tag,multiline,omitempty"`
	ArgPos *int    `yaml:"arg-pos,omitempty" toml:"arg-pos,multiline,omitempty"`
}

type NakedretSettings struct {
	MaxFuncLines *uint `yaml:"max-func-lines,omitempty" toml:"max-func-lines,multiline,omitempty"`
}

type NestifSettings struct {
	MinComplexity *int `yaml:"min-complexity,omitempty" toml:"min-complexity,multiline,omitempty"`
}

type NilNilSettings struct {
	OnlyTwo        *bool    `yaml:"only-two,omitempty" toml:"only-two,multiline,omitempty"`
	DetectOpposite *bool    `yaml:"detect-opposite,omitempty" toml:"detect-opposite,multiline,omitempty"`
	CheckedTypes   []string `yaml:"checked-types,omitempty" toml:"checked-types,multiline,omitempty"`
}

type NlreturnSettings struct {
	BlockSize *int `yaml:"block-size,omitempty" toml:"block-size,multiline,omitempty"`
}

type MndSettings struct {
	Checks           []string `yaml:"checks,omitempty" toml:"checks,multiline,omitempty"`
	IgnoredNumbers   []string `yaml:"ignored-numbers,omitempty" toml:"ignored-numbers,multiline,omitempty"`
	IgnoredFiles     []string `yaml:"ignored-files,omitempty" toml:"ignored-files,multiline,omitempty"`
	IgnoredFunctions []string `yaml:"ignored-functions,omitempty" toml:"ignored-functions,multiline,omitempty"`
}

type NoLintLintSettings struct {
	RequireExplanation *bool    `yaml:"require-explanation,omitempty" toml:"require-explanation,multiline,omitempty"`
	RequireSpecific    *bool    `yaml:"require-specific,omitempty" toml:"require-specific,multiline,omitempty"`
	AllowNoExplanation []string `yaml:"allow-no-explanation,omitempty" toml:"allow-no-explanation,multiline,omitempty"`
	AllowUnused        *bool    `yaml:"allow-unused,omitempty" toml:"allow-unused,multiline,omitempty"`
}

type NoNamedReturnsSettings struct {
	ReportErrorInDefer *bool `yaml:"report-error-in-defer,omitempty" toml:"report-error-in-defer,multiline,omitempty"`
}

type ParallelTestSettings struct {
	Go                    *string `yaml:"-,omitempty" toml:"-,multiline,omitempty"`
	IgnoreMissing         *bool   `yaml:"ignore-missing,omitempty" toml:"ignore-missing,multiline,omitempty"`
	IgnoreMissingSubtests *bool   `yaml:"ignore-missing-subtests,omitempty" toml:"ignore-missing-subtests,multiline,omitempty"`
}

type PerfSprintSettings struct {
	IntegerFormat *bool `yaml:"integer-format,omitempty" toml:"integer-format,multiline,omitempty"`
	IntConversion *bool `yaml:"int-conversion,omitempty" toml:"int-conversion,multiline,omitempty"`

	ErrorFormat *bool `yaml:"error-format,omitempty" toml:"error-format,multiline,omitempty"`
	ErrError    *bool `yaml:"err-error,omitempty" toml:"err-error,multiline,omitempty"`
	ErrorF      *bool `yaml:"errorf,omitempty" toml:"errorf,multiline,omitempty"`

	StringFormat *bool `yaml:"string-format,omitempty" toml:"string-format,multiline,omitempty"`
	SprintF1     *bool `yaml:"sprintf1,omitempty" toml:"sprintf1,multiline,omitempty"`
	StrConcat    *bool `yaml:"strconcat,omitempty" toml:"strconcat,multiline,omitempty"`

	BoolFormat *bool `yaml:"bool-format,omitempty" toml:"bool-format,multiline,omitempty"`
	HexFormat  *bool `yaml:"hex-format,omitempty" toml:"hex-format,multiline,omitempty"`
}

type PreallocSettings struct {
	Simple     *bool `yaml:"simple,omitempty" toml:"simple,multiline,omitempty"`
	RangeLoops *bool `yaml:"range-loops,omitempty" toml:"range-loops,multiline,omitempty"`
	ForLoops   *bool `yaml:"for-loops,omitempty" toml:"for-loops,multiline,omitempty"`
}

type PredeclaredSettings struct {
	Ignore    []string `yaml:"ignore,omitempty" toml:"ignore,multiline,omitempty"`
	Qualified *bool    `yaml:"qualified-name,omitempty" toml:"qualified-name,multiline,omitempty"`
}

type PromlinterSettings struct {
	Strict          *bool    `yaml:"strict,omitempty" toml:"strict,multiline,omitempty"`
	DisabledLinters []string `yaml:"disabled-linters,omitempty" toml:"disabled-linters,multiline,omitempty"`
}

type ProtoGetterSettings struct {
	SkipGeneratedBy         []string `yaml:"skip-generated-by,omitempty" toml:"skip-generated-by,multiline,omitempty"`
	SkipFiles               []string `yaml:"skip-files,omitempty" toml:"skip-files,multiline,omitempty"`
	SkipAnyGenerated        *bool    `yaml:"skip-any-generated,omitempty" toml:"skip-any-generated,multiline,omitempty"`
	ReplaceFirstArgInAppend *bool    `yaml:"replace-first-arg-in-append,omitempty" toml:"replace-first-arg-in-append,multiline,omitempty"`
}

type ReassignSettings struct {
	Patterns []string `yaml:"patterns,omitempty" toml:"patterns,multiline,omitempty"`
}

type RecvcheckSettings struct {
	DisableBuiltin *bool    `yaml:"disable-builtin,omitempty" toml:"disable-builtin,multiline,omitempty"`
	Exclusions     []string `yaml:"exclusions,omitempty" toml:"exclusions,multiline,omitempty"`
}

type ReviveSettings struct {
	Go             *string           `yaml:"-,omitempty" toml:"-,multiline,omitempty"`
	MaxOpenFiles   *int              `yaml:"max-open-files,omitempty" toml:"max-open-files,multiline,omitempty"`
	Confidence     *float64          `yaml:"confidence,omitempty" toml:"confidence,multiline,omitempty"`
	Severity       *string           `yaml:"severity,omitempty" toml:"severity,multiline,omitempty"`
	EnableAllRules *bool             `yaml:"enable-all-rules,omitempty" toml:"enable-all-rules,multiline,omitempty"`
	Rules          []ReviveRule      `yaml:"rules,omitempty" toml:"rules,multiline,omitempty"`
	ErrorCode      *int              `yaml:"error-code,omitempty" toml:"error-code,multiline,omitempty"`
	WarningCode    *int              `yaml:"warning-code,omitempty" toml:"warning-code,multiline,omitempty"`
	Directives     []ReviveDirective `yaml:"directives,omitempty" toml:"directives,multiline,omitempty"`
}

type ReviveRule struct {
	Name      *string  `yaml:"name,omitempty" toml:"name,multiline,omitempty"`
	Arguments []any    `yaml:"arguments,omitempty" toml:"arguments,multiline,omitempty"`
	Severity  *string  `yaml:"severity,omitempty" toml:"severity,multiline,omitempty"`
	Disabled  *bool    `yaml:"disabled,omitempty" toml:"disabled,multiline,omitempty"`
	Exclude   []string `yaml:"exclude,omitempty" toml:"exclude,multiline,omitempty"`
}

type ReviveDirective struct {
	Name     *string `yaml:"name,omitempty" toml:"name,multiline,omitempty"`
	Severity *string `yaml:"severity,omitempty" toml:"severity,multiline,omitempty"`
}

type RowsErrCheckSettings struct {
	Packages []string `yaml:"packages,omitempty" toml:"packages,multiline,omitempty"`
}

type SlogLintSettings struct {
	NoMixedArgs    *bool    `yaml:"no-mixed-args,omitempty" toml:"no-mixed-args,multiline,omitempty"`
	KVOnly         *bool    `yaml:"kv-only,omitempty" toml:"kv-only,multiline,omitempty"`
	AttrOnly       *bool    `yaml:"attr-only,omitempty" toml:"attr-only,multiline,omitempty"`
	NoGlobal       *string  `yaml:"no-global,omitempty" toml:"no-global,multiline,omitempty"`
	Context        *string  `yaml:"context,omitempty" toml:"context,multiline,omitempty"`
	StaticMsg      *bool    `yaml:"static-msg,omitempty" toml:"static-msg,multiline,omitempty"`
	MsgStyle       *string  `yaml:"msg-style,omitempty" toml:"msg-style,multiline,omitempty"`
	NoRawKeys      *bool    `yaml:"no-raw-keys,omitempty" toml:"no-raw-keys,multiline,omitempty"`
	KeyNamingCase  *string  `yaml:"key-naming-case,omitempty" toml:"key-naming-case,multiline,omitempty"`
	ForbiddenKeys  []string `yaml:"forbidden-keys,omitempty" toml:"forbidden-keys,multiline,omitempty"`
	ArgsOnSepLines *bool    `yaml:"args-on-sep-lines,omitempty" toml:"args-on-sep-lines,multiline,omitempty"`
}

type SpancheckSettings struct {
	Checks                   []string `yaml:"checks,omitempty" toml:"checks,multiline,omitempty"`
	IgnoreCheckSignatures    []string `yaml:"ignore-check-signatures,omitempty" toml:"ignore-check-signatures,multiline,omitempty"`
	ExtraStartSpanSignatures []string `yaml:"extra-start-span-signatures,omitempty" toml:"extra-start-span-signatures,multiline,omitempty"`
}

type StaticCheckSettings struct {
	Checks                  []string `yaml:"checks,omitempty" toml:"checks,multiline,omitempty"`
	Initialisms             []string `yaml:"initialisms,omitempty" toml:"initialisms,multiline,omitempty"`
	DotImportWhitelist      []string `yaml:"dot-import-whitelist,omitempty" toml:"dot-import-whitelist,multiline,omitempty"`
	HTTPStatusCodeWhitelist []string `yaml:"http-status-code-whitelist,omitempty" toml:"http-status-code-whitelist,multiline,omitempty"`
}

type TagAlignSettings struct {
	Align  *bool    `yaml:"align,omitempty" toml:"align,multiline,omitempty"`
	Sort   *bool    `yaml:"sort,omitempty" toml:"sort,multiline,omitempty"`
	Order  []string `yaml:"order,omitempty" toml:"order,multiline,omitempty"`
	Strict *bool    `yaml:"strict,omitempty" toml:"strict,multiline,omitempty"`
}

type TagliatelleSettings struct {
	Case TagliatelleCase `yaml:"case,omitempty" toml:"case,multiline,omitempty"`
}

type TagliatelleCase struct {
	TagliatelleBase `yaml:",inline"`
	Overrides       []TagliatelleOverrides `yaml:"overrides,omitempty" toml:"overrides,multiline,omitempty"`
}

type TagliatelleOverrides struct {
	TagliatelleBase `yaml:",inline"`
	Package         *string `yaml:"pkg,omitempty" toml:"pkg,multiline,omitempty"`
	Ignore          *bool   `yaml:"ignore,omitempty" toml:"ignore,multiline,omitempty"`
}

type TagliatelleBase struct {
	Rules         map[string]string                  `yaml:"rules,omitempty" toml:"rules,multiline,omitempty"`
	ExtendedRules map[string]TagliatelleExtendedRule `yaml:"extended-rules,omitempty" toml:"extended-rules,multiline,omitempty"`
	UseFieldName  *bool                              `yaml:"use-field-name,omitempty" toml:"use-field-name,multiline,omitempty"`
	IgnoredFields []string                           `yaml:"ignored-fields,omitempty" toml:"ignored-fields,multiline,omitempty"`
}

type TagliatelleExtendedRule struct {
	Case                *string         `yaml:"case,omitempty" toml:"case,multiline,omitempty"`
	ExtraInitialisms    *bool           `yaml:"extra-initialisms,omitempty" toml:"extra-initialisms,multiline,omitempty"`
	InitialismOverrides map[string]bool `yaml:"initialism-overrides,omitempty" toml:"initialism-overrides,multiline,omitempty"`
}

type TestifylintSettings struct {
	EnableAll        *bool    `yaml:"enable-all,omitempty" toml:"enable-all,multiline,omitempty"`
	DisableAll       *bool    `yaml:"disable-all,omitempty" toml:"disable-all,multiline,omitempty"`
	EnabledCheckers  []string `yaml:"enable,omitempty" toml:"enable,multiline,omitempty"`
	DisabledCheckers []string `yaml:"disable,omitempty" toml:"disable,multiline,omitempty"`

	BoolCompare          TestifylintBoolCompare          `yaml:"bool-compare,omitempty" toml:"bool-compare,multiline,omitempty"`
	ExpectedActual       TestifylintExpectedActual       `yaml:"expected-actual,omitempty" toml:"expected-actual,multiline,omitempty"`
	Formatter            TestifylintFormatter            `yaml:"formatter,omitempty" toml:"formatter,multiline,omitempty"`
	GoRequire            TestifylintGoRequire            `yaml:"go-require,omitempty" toml:"go-require,multiline,omitempty"`
	RequireError         TestifylintRequireError         `yaml:"require-error,omitempty" toml:"require-error,multiline,omitempty"`
	SuiteExtraAssertCall TestifylintSuiteExtraAssertCall `yaml:"suite-extra-assert-call,omitempty" toml:"suite-extra-assert-call,multiline,omitempty"`
}

type TestifylintBoolCompare struct {
	IgnoreCustomTypes *bool `yaml:"ignore-custom-types,omitempty" toml:"ignore-custom-types,multiline,omitempty"`
}

type TestifylintExpectedActual struct {
	ExpVarPattern *string `yaml:"pattern,omitempty" toml:"pattern,multiline,omitempty"`
}

type TestifylintFormatter struct {
	CheckFormatString *bool `yaml:"check-format-string,omitempty" toml:"check-format-string,multiline,omitempty"`
	RequireFFuncs     *bool `yaml:"require-f-funcs,omitempty" toml:"require-f-funcs,multiline,omitempty"`
	RequireStringMsg  *bool `yaml:"require-string-msg,omitempty" toml:"require-string-msg,multiline,omitempty"`
}

type TestifylintGoRequire struct {
	IgnoreHTTPHandlers *bool `yaml:"ignore-http-handlers,omitempty" toml:"ignore-http-handlers,multiline,omitempty"`
}

type TestifylintRequireError struct {
	FnPattern *string `yaml:"fn-pattern,omitempty" toml:"fn-pattern,multiline,omitempty"`
}

type TestifylintSuiteExtraAssertCall struct {
	Mode *string `yaml:"mode,omitempty" toml:"mode,multiline,omitempty"`
}

type TestpackageSettings struct {
	SkipRegexp    *string  `yaml:"skip-regexp,omitempty" toml:"skip-regexp,multiline,omitempty"`
	AllowPackages []string `yaml:"allow-packages,omitempty" toml:"allow-packages,multiline,omitempty"`
}

type ThelperSettings struct {
	Test      ThelperOptions `yaml:"test,omitempty" toml:"test,multiline,omitempty"`
	Fuzz      ThelperOptions `yaml:"fuzz,omitempty" toml:"fuzz,multiline,omitempty"`
	Benchmark ThelperOptions `yaml:"benchmark,omitempty" toml:"benchmark,multiline,omitempty"`
	TB        ThelperOptions `yaml:"tb,omitempty" toml:"tb,multiline,omitempty"`
}

type ThelperOptions struct {
	First *bool `yaml:"first,omitempty" toml:"first,multiline,omitempty"`
	Name  *bool `yaml:"name,omitempty" toml:"name,multiline,omitempty"`
	Begin *bool `yaml:"begin,omitempty" toml:"begin,multiline,omitempty"`
}

type UseStdlibVarsSettings struct {
	HTTPMethod         *bool `yaml:"http-method,omitempty" toml:"http-method,multiline,omitempty"`
	HTTPStatusCode     *bool `yaml:"http-status-code,omitempty" toml:"http-status-code,multiline,omitempty"`
	TimeWeekday        *bool `yaml:"time-weekday,omitempty" toml:"time-weekday,multiline,omitempty"`
	TimeMonth          *bool `yaml:"time-month,omitempty" toml:"time-month,multiline,omitempty"`
	TimeLayout         *bool `yaml:"time-layout,omitempty" toml:"time-layout,multiline,omitempty"`
	CryptoHash         *bool `yaml:"crypto-hash,omitempty" toml:"crypto-hash,multiline,omitempty"`
	DefaultRPCPath     *bool `yaml:"default-rpc-path,omitempty" toml:"default-rpc-path,multiline,omitempty"`
	SQLIsolationLevel  *bool `yaml:"sql-isolation-level,omitempty" toml:"sql-isolation-level,multiline,omitempty"`
	TLSSignatureScheme *bool `yaml:"tls-signature-scheme,omitempty" toml:"tls-signature-scheme,multiline,omitempty"`
	ConstantKind       *bool `yaml:"constant-kind,omitempty" toml:"constant-kind,multiline,omitempty"`
	TimeDateMonth      *bool `yaml:"time-date-month,omitempty" toml:"time-date-month,multiline,omitempty"`
}

type UseTestingSettings struct {
	ContextBackground *bool `yaml:"context-background,omitempty" toml:"context-background,multiline,omitempty"`
	ContextTodo       *bool `yaml:"context-todo,omitempty" toml:"context-todo,multiline,omitempty"`
	OSChdir           *bool `yaml:"os-chdir,omitempty" toml:"os-chdir,multiline,omitempty"`
	OSMkdirTemp       *bool `yaml:"os-mkdir-temp,omitempty" toml:"os-mkdir-temp,multiline,omitempty"`
	OSSetenv          *bool `yaml:"os-setenv,omitempty" toml:"os-setenv,multiline,omitempty"`
	OSTempDir         *bool `yaml:"os-temp-dir,omitempty" toml:"os-temp-dir,multiline,omitempty"`
	OSCreateTemp      *bool `yaml:"os-create-temp,omitempty" toml:"os-create-temp,multiline,omitempty"`
}

type UnconvertSettings struct {
	FastMath *bool `yaml:"fast-math,omitempty" toml:"fast-math,multiline,omitempty"`
	Safe     *bool `yaml:"safe,omitempty" toml:"safe,multiline,omitempty"`
}

type UnparamSettings struct {
	CheckExported *bool `yaml:"check-exported,omitempty" toml:"check-exported,multiline,omitempty"`
}

type UnusedSettings struct {
	FieldWritesAreUses     *bool `yaml:"field-writes-are-uses,omitempty" toml:"field-writes-are-uses,multiline,omitempty"`
	PostStatementsAreReads *bool `yaml:"post-statements-are-reads,omitempty" toml:"post-statements-are-reads,multiline,omitempty"`
	ExportedFieldsAreUsed  *bool `yaml:"exported-fields-are-used,omitempty" toml:"exported-fields-are-used,multiline,omitempty"`
	ParametersAreUsed      *bool `yaml:"parameters-are-used,omitempty" toml:"parameters-are-used,multiline,omitempty"`
	LocalVariablesAreUsed  *bool `yaml:"local-variables-are-used,omitempty" toml:"local-variables-are-used,multiline,omitempty"`
	GeneratedIsUsed        *bool `yaml:"generated-is-used,omitempty" toml:"generated-is-used,multiline,omitempty"`
}

type VarnamelenSettings struct {
	MaxDistance        *int     `yaml:"max-distance,omitempty" toml:"max-distance,multiline,omitempty"`
	MinNameLength      *int     `yaml:"min-name-length,omitempty" toml:"min-name-length,multiline,omitempty"`
	CheckReceiver      *bool    `yaml:"check-receiver,omitempty" toml:"check-receiver,multiline,omitempty"`
	CheckReturn        *bool    `yaml:"check-return,omitempty" toml:"check-return,multiline,omitempty"`
	CheckTypeParam     *bool    `yaml:"check-type-param,omitempty" toml:"check-type-param,multiline,omitempty"`
	IgnoreNames        []string `yaml:"ignore-names,omitempty" toml:"ignore-names,multiline,omitempty"`
	IgnoreTypeAssertOk *bool    `yaml:"ignore-type-assert-ok,omitempty" toml:"ignore-type-assert-ok,multiline,omitempty"`
	IgnoreMapIndexOk   *bool    `yaml:"ignore-map-index-ok,omitempty" toml:"ignore-map-index-ok,multiline,omitempty"`
	IgnoreChanRecvOk   *bool    `yaml:"ignore-chan-recv-ok,omitempty" toml:"ignore-chan-recv-ok,multiline,omitempty"`
	IgnoreDecls        []string `yaml:"ignore-decls,omitempty" toml:"ignore-decls,multiline,omitempty"`
}

type WhitespaceSettings struct {
	MultiIf   *bool `yaml:"multi-if,omitempty" toml:"multi-if,multiline,omitempty"`
	MultiFunc *bool `yaml:"multi-func,omitempty" toml:"multi-func,multiline,omitempty"`
}

type WrapcheckSettings struct {
	ExtraIgnoreSigs        []string `yaml:"extra-ignore-sigs,omitempty" toml:"extra-ignore-sigs,multiline,omitempty"`
	IgnoreSigs             []string `yaml:"ignore-sigs,omitempty" toml:"ignore-sigs,multiline,omitempty"`
	IgnoreSigRegexps       []string `yaml:"ignore-sig-regexps,omitempty" toml:"ignore-sig-regexps,multiline,omitempty"`
	IgnorePackageGlobs     []string `yaml:"ignore-package-globs,omitempty" toml:"ignore-package-globs,multiline,omitempty"`
	IgnoreInterfaceRegexps []string `yaml:"ignore-interface-regexps,omitempty" toml:"ignore-interface-regexps,multiline,omitempty"`
	ReportInternalErrors   *bool    `yaml:"report-internal-errors,omitempty" toml:"report-internal-errors,multiline,omitempty"`
}

type WSLv4Settings struct {
	StrictAppend                     *bool    `yaml:"strict-append,omitempty" toml:"strict-append,multiline,omitempty"`
	AllowAssignAndCallCuddle         *bool    `yaml:"allow-assign-and-call,omitempty" toml:"allow-assign-and-call,multiline,omitempty"`
	AllowAssignAndAnythingCuddle     *bool    `yaml:"allow-assign-and-anything,omitempty" toml:"allow-assign-and-anything,multiline,omitempty"`
	AllowMultiLineAssignCuddle       *bool    `yaml:"allow-multiline-assign,omitempty" toml:"allow-multiline-assign,multiline,omitempty"`
	ForceCaseTrailingWhitespaceLimit *int     `yaml:"force-case-trailing-whitespace,omitempty" toml:"force-case-trailing-whitespace,multiline,omitempty"`
	AllowTrailingComment             *bool    `yaml:"allow-trailing-comment,omitempty" toml:"allow-trailing-comment,multiline,omitempty"`
	AllowSeparatedLeadingComment     *bool    `yaml:"allow-separated-leading-comment,omitempty" toml:"allow-separated-leading-comment,multiline,omitempty"`
	AllowCuddleDeclaration           *bool    `yaml:"allow-cuddle-declarations,omitempty" toml:"allow-cuddle-declarations,multiline,omitempty"`
	AllowCuddleWithCalls             []string `yaml:"allow-cuddle-with-calls,omitempty" toml:"allow-cuddle-with-calls,multiline,omitempty"`
	AllowCuddleWithRHS               []string `yaml:"allow-cuddle-with-rhs,omitempty" toml:"allow-cuddle-with-rhs,multiline,omitempty"`
	AllowCuddleUsedInBlock           *bool    `yaml:"allow-cuddle-used-in-block,omitempty" toml:"allow-cuddle-used-in-block,multiline,omitempty"`
	ForceCuddleErrCheckAndAssign     *bool    `yaml:"force-err-cuddling,omitempty" toml:"force-err-cuddling,multiline,omitempty"`
	ErrorVariableNames               []string `yaml:"error-variable-names,omitempty" toml:"error-variable-names,multiline,omitempty"`
	ForceExclusiveShortDeclarations  *bool    `yaml:"force-short-decl-cuddling,omitempty" toml:"force-short-decl-cuddling,multiline,omitempty"`
}

type WSLv5Settings struct {
	AllowFirstInBlock *bool    `yaml:"allow-first-in-block,omitempty" toml:"allow-first-in-block,multiline,omitempty"`
	AllowWholeBlock   *bool    `yaml:"allow-whole-block,omitempty" toml:"allow-whole-block,multiline,omitempty"`
	BranchMaxLines    *int     `yaml:"branch-max-lines,omitempty" toml:"branch-max-lines,multiline,omitempty"`
	CaseMaxLines      *int     `yaml:"case-max-lines,omitempty" toml:"case-max-lines,multiline,omitempty"`
	Default           *string  `yaml:"default,omitempty" toml:"default,multiline,omitempty"`
	Enable            []string `yaml:"enable,omitempty" toml:"enable,multiline,omitempty"`
	Disable           []string `yaml:"disable,omitempty" toml:"disable,multiline,omitempty"`
}

type CustomLinterSettings struct {
	Type *string `yaml:"type,omitempty" toml:"type,multiline,omitempty"`

	Path *string `yaml:"path,omitempty" toml:"path,multiline,omitempty"`

	Description *string `yaml:"description,omitempty" toml:"description,multiline,omitempty"`

	OriginalURL *string `yaml:"original-url,omitempty" toml:"original-url,multiline,omitempty"`

	Settings any `yaml:"settings,omitempty" toml:"settings,multiline,omitempty"`
}
