// Copyright 2025-Present Datadog, Inc. https://www.datadoghq.com/
// SPDX-License-Identifier: Apache-2.0

//! Datadog sampling logic

pub(crate) mod agent_service_sampler;
pub(crate) mod constants;
pub(crate) mod datadog_sampler;
pub(crate) mod glob_matcher;
pub(crate) mod otel_mappings;
pub(crate) mod rate_limiter;
pub(crate) mod rate_sampler;
pub(crate) mod rules_sampler;
pub(crate) mod sampling_rule;
mod types;
pub(crate) mod utils;

// Re-export key public types
pub use datadog_sampler::{DatadogSampler, SamplingRulesCallback};
pub use otel_mappings::{OtelAttributeFactory, OtelSamplingData};
pub use sampling_rule::SamplingRule;
pub use types::{
    AttributeFactory, AttributeLike, SamplingData, SpanProperties, TraceIdLike, ValueLike,
};
