pub mod error;
pub use error::{ServiceError, ServiceResult};
pub mod mailing_ab_test_service;
pub mod mailing_audience_service;
pub mod mailing_contact_service;
pub mod mailing_subscription_service;
pub mod opt_out_reason_service;
pub mod mailing_service;
pub mod mailing_trace_service;
pub mod mailing_filter_service;
pub mod ab_test_write_service;
pub mod event_registration_target_port;
pub mod mailing_stats_read_service;
pub mod mailing_write_service;
pub mod sale_invoiced_amount_port;
pub mod sms_delivery_pump_service;
pub mod sms_stop_service;
pub mod sms_suppression_service;
pub mod sms_targeting_service;
pub mod subscription_write_service;
pub mod trace_click_ports;
pub mod trace_route_service;
pub mod trace_write_service;
pub use mailing_ab_test_service::MailingAbTestService;
pub use mailing_audience_service::MailingAudienceService;
pub use mailing_contact_service::MailingContactService;
pub use mailing_subscription_service::MailingSubscriptionService;
pub use opt_out_reason_service::OptOutReasonService;
pub use mailing_service::MailingService;
pub use mailing_trace_service::MailingTraceService;
pub use mailing_filter_service::MailingFilterService;
pub use ab_test_write_service::{
AbTestView, AbTestWriteError, AbTestWriteService, ChannelMetricRow, MixedChannelComparison,
};
pub use mailing_stats_read_service::{
MailingStats, MailingStatsError, MailingStatsReadService, SHARED_SOURCE_CAVEAT,
SourceGroupedStats,
};
pub use mailing_write_service::{
AutoBlacklistConfig, DomainInvalid, MailingEventSink, MailingSendConfig, MailingUpsertCommand,
MailingWriteError, MailingWriteService, PartyRecipientResolver, SweepOutcome,
TargetRecipientResolver, TracingEventSink, default_domain_for,
};
pub use sale_invoiced_amount_port::{
CannedSaleInvoicedAmount, RefusingSaleInvoicedAmount, SaleInvoicedAmountError,
SaleInvoicedAmountPort, SaleInvoicedAmountSlot, SourceInvoicedAmount,
};
pub use event_registration_target_port::{
EventRegistrationTargetAdapter, EventRegistrationTargetError,
EventRegistrationTargetResolver, RefusingEventRegistrationTarget,
};
pub use subscription_write_service::{SubscriptionWriteError, SubscriptionWriteService};
pub use sms_delivery_pump_service::{SmsDeliveryPumpService, SmsPumpOutcome};
pub use trace_click_ports::{
CannedTraceClick, CodeAttribution, RefusingTraceClick, ResolvedClick, TraceClickError,
TraceClickPort, TraceClickSlot,
};
pub use trace_route_service::{AudienceOptOut, TraceRouteError, TraceRouteService};
pub use trace_write_service::{TraceTransition, TraceWriteError, TraceWriteService};
pub use sms_stop_service::{
is_stop_reply_keyword, validate_stop_code, SmsStopError, SmsStopService, StopCodeError,
StopReplyOutcome, STOP_CODE_MAX_LEN, STOP_CODE_MIN_LEN,
};
pub use sms_suppression_service::{
ClaimedSmsContext, PhoneRecipient, SmsSuppressionError, SmsSuppressionService, Suppressed,
SuppressionOutcome, SMS_BLACKLIST_FAILURE_TYPE,
};
pub use sms_targeting_service::{SmsTargetingReport, TargetPhoneResolver};