pub mod ads;
pub mod ast;
pub mod condition;
pub mod emit;
pub mod error;
pub mod exemplar;
pub mod fieldpath;
pub mod lint;
pub mod parser;
pub mod reference;
pub mod selector;
pub mod value;
pub mod version;
pub use ads::{
AdsCarrier, AdsContent, AdsDocument, AdsScaffoldEntry, AdsSection, AdsSectionInfo,
AdsSectionStatus, ads_catalogue,
};
pub use ast::{
ArrayQuantifier, ConditionExpr, ConditionOperator, CorrelationCondition, CorrelationRule,
CorrelationType, Detection, DetectionItem, Detections, FieldAlias, FieldSpec, FilterRule,
FilterRuleTarget, Level, LogSource, Modifier, Quantifier, Related, RelationType,
SelectorPattern, SigmaCollection, SigmaDocument, SigmaRule, Status, WindowMode,
};
pub use condition::parse_condition;
pub use emit::{emit_collection_yaml, emit_rule_yaml};
pub use error::{Result, SigmaParserError, SourceLocation};
pub use exemplar::{
EXEMPLARS_KEY, Exemplar, ExemplarErrorKind, ExemplarPayload, ExemplarRuleKind,
ExemplarShapeError, Expect, TimedEvent, correlation_exemplars, exemplars, exemplars_from_attrs,
filter_exemplars, match_exemplar_count, match_exemplar_count_json, parse_exemplars,
raw_exemplar_values, raw_match_exemplar_count, raw_winning_exemplars,
};
pub use lint::catalogue::{LintRuleInfo, catalogue};
#[cfg(feature = "fix")]
pub use lint::fix::{SourceFixOutcome, apply_fixes_to_source};
pub use lint::{
AdsConfig, FileLintResult, Fix, FixDisposition, FixPatch, InlineSuppressions, LintConfig,
LintRule, LintWarning, Severity, Span, apply_suppressions, lint_yaml_directory,
lint_yaml_directory_with_config, lint_yaml_file, lint_yaml_file_with_config, lint_yaml_str,
lint_yaml_str_with_config, lint_yaml_value, parse_inline_suppressions,
};
pub use parser::{parse_field_spec, parse_sigma_directory, parse_sigma_file, parse_sigma_yaml};
pub use selector::detection_name_matches;
pub use value::{SigmaString, SigmaValue, SpecialChar, StringPart, Timespan};
pub use version::{
SPEC_VERSION_ARRAY_MATCHING, SPEC_VERSION_FLOOR, SPEC_VERSION_SUPPORTED,
array_matching_enabled, is_unsupported, resolve_major,
};