package reporting
import (
"github.com/projectdiscovery/nuclei/v3/pkg/output"
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/es"
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/jsonexporter"
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/jsonl"
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/markdown"
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/mongo"
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/sarif"
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/splunk"
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/trackers/filters"
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/trackers/gitea"
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/trackers/github"
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/trackers/gitlab"
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/trackers/jira"
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/trackers/linear"
"github.com/projectdiscovery/retryablehttp-go"
)
type Options struct {
AllowList *filters.Filter `yaml:"allow-list"`
DenyList *filters.Filter `yaml:"deny-list"`
ValidatorCallback func(event *output.ResultEvent) bool `yaml:"-"`
GitHub *github.Options `yaml:"github"`
GitLab *gitlab.Options `yaml:"gitlab"`
Gitea *gitea.Options `yaml:"gitea"`
Jira *jira.Options `yaml:"jira"`
Linear *linear.Options `yaml:"linear"`
MarkdownExporter *markdown.Options `yaml:"markdown"`
SarifExporter *sarif.Options `yaml:"sarif"`
ElasticsearchExporter *es.Options `yaml:"elasticsearch"`
SplunkExporter *splunk.Options `yaml:"splunkhec"`
JSONExporter *jsonexporter.Options `yaml:"json"`
JSONLExporter *jsonl.Options `yaml:"jsonl"`
MongoDBExporter *mongo.Options `yaml:"mongodb"`
HttpClient *retryablehttp.Client `yaml:"-"`
OmitRaw bool `yaml:"-"`
ExecutionId string `yaml:"-"`
}