"""our-privacy — Trust graph, capabilities, audit, encryption, and watermarking"""

__version__ = "0.1.0"

from .anomaly import (
    AnomalyAlert,
    AnomalyDetector,
    AnomalyType,
    RuleConfig,
    get_anomaly_detector,
    set_anomaly_detector,
)
from .audit import (
    AuditBackend,
    AuditEvent,
    AuditEventType,
    AuditLog,
    AuditLogger,
    ChainVerificationError,
    FileAuditBackend,
    InMemoryAuditBackend,
    get_audit_logger,
    set_audit_logger,
    verify_chain,
)
from .canary import (
    CanaryRegistry,
    CanaryToken,
    EmbeddingStrategy,
    LeakReport,
    detect_canaries,
    embed_canary,
    strip_canaries,
)
from .capabilities import (
    DEFAULT_TTL_SECONDS,
    MAX_TTL_SECONDS,
    Capability,
    CapabilityAction,
    CapabilityError,
    CapabilityExpiredError,
    CapabilityInsufficientPermissionError,
    CapabilityInvalidError,
    CapabilityInvalidSignatureError,
    CapabilityNotFoundError,
    CapabilityRevokedError,
    CapabilityService,
    CapabilityStore,
    CapabilityTTLExceededError,
    InMemoryCapabilityStore,
    get_capability_service,
    issue_capability,
    revoke_capability,
    set_capability_service,
    verify_capability,
)
from .corroboration import (
    DEFAULT_CORROBORATION_THRESHOLD,
    DEFAULT_SIMILARITY_THRESHOLD,
    DEFAULT_TARGET_LEVEL,
    AutoElevationDisabledError,
    BeliefNotFoundError,
    CorroboratingSource,
    CorroborationDetector,
    CorroborationError,
    CorroborationEvidence,
    DuplicateSourceError,
    SimilarBelief,
    add_corroboration,
    cosine_similarity,
    get_corroboration_detector,
    get_evidence,
    opt_out_belief,
    opt_out_owner,
    propose_auto_elevation,
    set_corroboration_detector,
)
from .domains import (
    Domain,
    DomainError,
    DomainExistsError,
    DomainMembership,
    DomainNotFoundError,
    DomainRole,
    DomainService,
    MembershipExistsError,
    MembershipNotFoundError,
    PermissionDeniedError,
)
from .elevation import (
    ElevationError,
    ElevationProposal,
    ElevationService,
    InvalidElevationError,
    ProposalAlreadyResolvedError,
    ProposalNotFoundError,
    ProposalStatus,
    approve_elevation,
    create_redacted_content,
    propose_elevation,
    reject_elevation,
)
from .encryption import EncryptionEnvelope
from .migration import (
    get_share_policy_json,
    migrate_all_beliefs,
    migrate_all_beliefs_sync,
    migrate_visibility,
)
from .provenance import (
    FilteredProvenance,
    ProvenanceChain,
    ProvenanceTier,
    filter_provenance,
    get_tier_for_audience,
)
from .reports import (
    AuditRecord,
    BeliefRecord,
    DataReport,
    ExportFormat,
    InMemoryDataSource,
    InMemoryReportStore,
    ReportDataSource,
    ReportError,
    ReportGenerationError,
    ReportMetadata,
    ReportNotFoundError,
    ReportScope,
    ReportService,
    ReportStatus,
    ReportStore,
    ShareRecord,
    TrustRecord,
    generate_data_report,
    get_report_service,
    set_report_service,
)
from .sharing import (
    ConsentChainEntry,
    CrossFederationHop,
    Share,
    ShareRequest,
    ShareResult,
    SharingService,
)
from .trust import (
    CLOCK_SKEW_TOLERANCE,
    DecayModel,
    TrustEdge,
    TrustEdge4D,
    TrustGraphStore,
    TrustService,
    get_trust,
    get_trust_graph_store,
    get_trust_service,
    grant_trust,
    list_trusted,
    list_trusters,
    revoke_trust,
)
from .types import EnforcementType, IntentConfig, PropagationRules, ShareLevel, SharePolicy, SharingIntent
from .watermark import (
    Watermark,
    WatermarkCodec,
    WatermarkRegistry,
    WatermarkTechnique,
    create_watermarked_content,
    embed_watermark,
    extract_watermark,
    get_watermark_registry,
    set_watermark_registry,
    strip_watermarks,
    verify_watermark,
)

__all__ = [
    # Types
    "ShareLevel",
    "EnforcementType",
    "PropagationRules",
    "SharePolicy",
    "SharingIntent",
    "IntentConfig",
    # Encryption
    "EncryptionEnvelope",
    # Canary tokens
    "CanaryToken",
    "CanaryRegistry",
    "EmbeddingStrategy",
    "LeakReport",
    "embed_canary",
    "detect_canaries",
    "strip_canaries",
    # Sharing
    "ShareRequest",
    "ShareResult",
    "ConsentChainEntry",
    "CrossFederationHop",
    "Share",
    "SharingService",
    # Migration
    "migrate_visibility",
    "migrate_all_beliefs",
    "migrate_all_beliefs_sync",
    "get_share_policy_json",
    # Trust
    "TrustEdge",
    "TrustEdge4D",
    "TrustGraphStore",
    "TrustService",
    "get_trust_graph_store",
    "get_trust_service",
    "DecayModel",
    "grant_trust",
    "revoke_trust",
    "get_trust",
    "list_trusted",
    "list_trusters",
    "CLOCK_SKEW_TOLERANCE",
    # Domains
    "Domain",
    "DomainMembership",
    "DomainRole",
    "DomainService",
    "DomainError",
    "DomainNotFoundError",
    "DomainExistsError",
    "MembershipExistsError",
    "MembershipNotFoundError",
    "PermissionDeniedError",
    # Capabilities
    "Capability",
    "CapabilityAction",
    "CapabilityService",
    "CapabilityStore",
    "InMemoryCapabilityStore",
    "CapabilityError",
    "CapabilityExpiredError",
    "CapabilityInvalidSignatureError",
    "CapabilityInvalidError",
    "CapabilityRevokedError",
    "CapabilityNotFoundError",
    "CapabilityTTLExceededError",
    "CapabilityInsufficientPermissionError",
    "get_capability_service",
    "set_capability_service",
    "issue_capability",
    "verify_capability",
    "revoke_capability",
    "DEFAULT_TTL_SECONDS",
    "MAX_TTL_SECONDS",
    # Audit
    "AuditEvent",
    "AuditEventType",
    "AuditLog",
    "AuditLogger",
    "AuditBackend",
    "InMemoryAuditBackend",
    "FileAuditBackend",
    "ChainVerificationError",
    "verify_chain",
    "get_audit_logger",
    "set_audit_logger",
    # Elevation
    "ProposalStatus",
    "ElevationProposal",
    "ElevationError",
    "ProposalNotFoundError",
    "ProposalAlreadyResolvedError",
    "InvalidElevationError",
    "propose_elevation",
    "approve_elevation",
    "reject_elevation",
    "create_redacted_content",
    "ElevationService",
    # Corroboration auto-elevation
    "CorroborationDetector",
    "CorroboratingSource",
    "CorroborationEvidence",
    "SimilarBelief",
    "CorroborationError",
    "BeliefNotFoundError",
    "DuplicateSourceError",
    "AutoElevationDisabledError",
    "cosine_similarity",
    "get_corroboration_detector",
    "set_corroboration_detector",
    "add_corroboration",
    "get_evidence",
    "propose_auto_elevation",
    "opt_out_belief",
    "opt_out_owner",
    "DEFAULT_CORROBORATION_THRESHOLD",
    "DEFAULT_SIMILARITY_THRESHOLD",
    "DEFAULT_TARGET_LEVEL",
    # Provenance tiers
    "ProvenanceTier",
    "ProvenanceChain",
    "FilteredProvenance",
    "filter_provenance",
    "get_tier_for_audience",
    # Anomaly detection
    "AnomalyType",
    "AnomalyAlert",
    "RuleConfig",
    "AnomalyDetector",
    "get_anomaly_detector",
    "set_anomaly_detector",
    # Data reports
    "ExportFormat",
    "ReportStatus",
    "ReportScope",
    "BeliefRecord",
    "ShareRecord",
    "TrustRecord",
    "AuditRecord",
    "ReportMetadata",
    "DataReport",
    "ReportService",
    "ReportStore",
    "ReportDataSource",
    "InMemoryReportStore",
    "InMemoryDataSource",
    "ReportError",
    "ReportNotFoundError",
    "ReportGenerationError",
    "generate_data_report",
    "get_report_service",
    "set_report_service",
    # Watermarking
    "Watermark",
    "WatermarkTechnique",
    "WatermarkCodec",
    "WatermarkRegistry",
    "embed_watermark",
    "extract_watermark",
    "verify_watermark",
    "strip_watermarks",
    "create_watermarked_content",
    "get_watermark_registry",
    "set_watermark_registry",
]
