package catalog12import "io"34// Catalog is a catalog storage implementations5type Catalog interface {6// OpenFile opens a file and returns an io.ReadCloser to the file.7// It is used to read template and payload files based on catalog responses.8OpenFile(filename string) (io.ReadCloser, error)9// GetTemplatePath parses the specified input template path and returns a compiled10// list of finished absolute paths to the templates evaluating any glob patterns11// or folders provided as in.12GetTemplatePath(target string) ([]string, error)13// GetTemplatesPath returns a list of absolute paths for the provided template list.14GetTemplatesPath(definitions []string) ([]string, map[string]error)15// ResolvePath resolves the path to an absolute one in various ways.16//17// It checks if the filename is an absolute path, looks in the current directory18// or checking the nuclei templates directory. If a second path is given,19// it also tries to find paths relative to that second path.20ResolvePath(templateName, second string) (string, error)21}222324