# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: zetasql/public/functions/differential_privacy.proto
# Protobuf Python Version: 6.31.1
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
_runtime_version.ValidateProtobufRuntimeVersion(
    _runtime_version.Domain.PUBLIC,
    6,
    31,
    1,
    '',
    'zetasql/public/functions/differential_privacy.proto'
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from zetasql.wasi._pb2.zetasql.proto import anon_output_with_report_pb2 as zetasql_dot_proto_dot_anon__output__with__report__pb2
from zetasql.wasi._pb2.zetasql.public import type_pb2 as zetasql_dot_public_dot_type__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3zetasql/public/functions/differential_privacy.proto\x12\x11zetasql.functions\x1a+zetasql/proto/anon_output_with_report.proto\x1a\x19zetasql/public/type.proto\"\xed\x04\n\x18\x44ifferentialPrivacyEnums\"\x89\x01\n\x0cReportFormat\x12\x38\n*DIFFERENTIAL_PRIVACY_REPORT_FORMAT_INVALID\x10\x00\x1a\x08\xb2\xf2\xb0\x92\x0e\x02\x08\x01\x12\x08\n\x04JSON\x10\x01\x12\t\n\x05PROTO\x10\x02\x1a*\xb2\xd0\xaf\xfa\r$\n\"DIFFERENTIAL_PRIVACY_REPORT_FORMAT\"\xbe\x01\n\x16GroupSelectionStrategy\x12\x43\n5DIFFERENTIAL_PRIVACY_GROUP_SELECTION_STRATEGY_INVALID\x10\x00\x1a\x08\xb2\xf2\xb0\x92\x0e\x02\x08\x01\x12\x15\n\x11LAPLACE_THRESHOLD\x10\x01\x12\x11\n\rPUBLIC_GROUPS\x10\x02\x1a\x35\xb2\xd0\xaf\xfa\r/\n-DIFFERENTIAL_PRIVACY_GROUP_SELECTION_STRATEGY\"\x83\x02\n)CountDistinctContributionBoundingStrategy\x12X\nJDIFFERENTIAL_PRIVACY_COUNT_DISTINCT_CONTRIBUTION_BOUNDING_STRATEGY_INVALID\x10\x00\x1a\x08\xb2\xf2\xb0\x92\x0e\x02\x08\x01\x12\x08\n\x04\x41UTO\x10\x01\x12\x0c\n\x08SAMPLING\x10\x02\x12\n\n\x06GREEDY\x10\x03\x12\x0c\n\x08MATCHING\x10\x04\x1aJ\xb2\xd0\xaf\xfa\rD\nBDIFFERENTIAL_PRIVACY_COUNT_DISTINCT_CONTRIBUTION_BOUNDING_STRATEGY\"\x83\x03\n#DifferentialPrivacyOutputWithReport\x12\x42\n\x05value\x18\x01 \x01(\x0b\x32\x31.zetasql.functions.DifferentialPrivacyOutputValueH\x00\x12\x44\n\x06values\x18\x02 \x01(\x0b\x32\x32.zetasql.functions.DifferentialPrivacyOutputValuesH\x00\x12O\n\x0f\x62ounding_report\x18\x03 \x01(\x0b\x32\x34.zetasql.functions.DifferentialPrivacyBoundingReportH\x01\x12m\n\x1e\x63ount_distinct_bounding_report\x18\x04 \x01(\x0b\x32\x43.zetasql.functions.DifferentiallyPrivateCountDistinctBoundingReportH\x01\x42\x08\n\x06resultB\x08\n\x06report\"\xdc\x01\n!DifferentialPrivacyBoundingReport\x12\x46\n\x0blower_bound\x18\x01 \x01(\x0b\x32\x31.zetasql.functions.DifferentialPrivacyOutputValue\x12\x46\n\x0bupper_bound\x18\x02 \x01(\x0b\x32\x31.zetasql.functions.DifferentialPrivacyOutputValue\x12\x12\n\nnum_inputs\x18\x03 \x01(\x01\x12\x13\n\x0bnum_outside\x18\x04 \x01(\x01\"\xda\x01\n0DifferentiallyPrivateCountDistinctBoundingReport\x12}\n\x1e\x63ontribution_bounding_strategy\x18\x01 \x01(\x0e\x32U.zetasql.functions.DifferentialPrivacyEnums.CountDistinctContributionBoundingStrategy\x12\x13\n\x0bupper_bound\x18\x02 \x01(\x03\x12\x12\n\nnum_inputs\x18\x03 \x01(\x01\"d\n\x1f\x44ifferentialPrivacyOutputValues\x12\x41\n\x06values\x18\x01 \x03(\x0b\x32\x31.zetasql.functions.DifferentialPrivacyOutputValue\"\xb2\x01\n\x1e\x44ifferentialPrivacyOutputValue\x12\x13\n\tint_value\x18\x01 \x01(\x03H\x00\x12\x15\n\x0b\x66loat_value\x18\x02 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x03 \x01(\tH\x00\x12\x43\n\x19noise_confidence_interval\x18\x04 \x01(\x0b\x32 .zetasql.NoiseConfidenceIntervalB\x07\n\x05valueB:\n\x1c\x63om.google.zetasql.functionsB\x1aZetaSQLDifferentialPrivacy')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'zetasql.public.functions.differential_privacy_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'\n\034com.google.zetasql.functionsB\032ZetaSQLDifferentialPrivacy'
  _globals['_DIFFERENTIALPRIVACYENUMS_REPORTFORMAT']._loaded_options = None
  _globals['_DIFFERENTIALPRIVACYENUMS_REPORTFORMAT']._serialized_options = b'\262\320\257\372\r$\n\"DIFFERENTIAL_PRIVACY_REPORT_FORMAT'
  _globals['_DIFFERENTIALPRIVACYENUMS_REPORTFORMAT'].values_by_name["DIFFERENTIAL_PRIVACY_REPORT_FORMAT_INVALID"]._loaded_options = None
  _globals['_DIFFERENTIALPRIVACYENUMS_REPORTFORMAT'].values_by_name["DIFFERENTIAL_PRIVACY_REPORT_FORMAT_INVALID"]._serialized_options = b'\262\362\260\222\016\002\010\001'
  _globals['_DIFFERENTIALPRIVACYENUMS_GROUPSELECTIONSTRATEGY']._loaded_options = None
  _globals['_DIFFERENTIALPRIVACYENUMS_GROUPSELECTIONSTRATEGY']._serialized_options = b'\262\320\257\372\r/\n-DIFFERENTIAL_PRIVACY_GROUP_SELECTION_STRATEGY'
  _globals['_DIFFERENTIALPRIVACYENUMS_GROUPSELECTIONSTRATEGY'].values_by_name["DIFFERENTIAL_PRIVACY_GROUP_SELECTION_STRATEGY_INVALID"]._loaded_options = None
  _globals['_DIFFERENTIALPRIVACYENUMS_GROUPSELECTIONSTRATEGY'].values_by_name["DIFFERENTIAL_PRIVACY_GROUP_SELECTION_STRATEGY_INVALID"]._serialized_options = b'\262\362\260\222\016\002\010\001'
  _globals['_DIFFERENTIALPRIVACYENUMS_COUNTDISTINCTCONTRIBUTIONBOUNDINGSTRATEGY']._loaded_options = None
  _globals['_DIFFERENTIALPRIVACYENUMS_COUNTDISTINCTCONTRIBUTIONBOUNDINGSTRATEGY']._serialized_options = b'\262\320\257\372\rD\nBDIFFERENTIAL_PRIVACY_COUNT_DISTINCT_CONTRIBUTION_BOUNDING_STRATEGY'
  _globals['_DIFFERENTIALPRIVACYENUMS_COUNTDISTINCTCONTRIBUTIONBOUNDINGSTRATEGY'].values_by_name["DIFFERENTIAL_PRIVACY_COUNT_DISTINCT_CONTRIBUTION_BOUNDING_STRATEGY_INVALID"]._loaded_options = None
  _globals['_DIFFERENTIALPRIVACYENUMS_COUNTDISTINCTCONTRIBUTIONBOUNDINGSTRATEGY'].values_by_name["DIFFERENTIAL_PRIVACY_COUNT_DISTINCT_CONTRIBUTION_BOUNDING_STRATEGY_INVALID"]._serialized_options = b'\262\362\260\222\016\002\010\001'
  _globals['_DIFFERENTIALPRIVACYENUMS']._serialized_start=147
  _globals['_DIFFERENTIALPRIVACYENUMS']._serialized_end=768
  _globals['_DIFFERENTIALPRIVACYENUMS_REPORTFORMAT']._serialized_start=176
  _globals['_DIFFERENTIALPRIVACYENUMS_REPORTFORMAT']._serialized_end=313
  _globals['_DIFFERENTIALPRIVACYENUMS_GROUPSELECTIONSTRATEGY']._serialized_start=316
  _globals['_DIFFERENTIALPRIVACYENUMS_GROUPSELECTIONSTRATEGY']._serialized_end=506
  _globals['_DIFFERENTIALPRIVACYENUMS_COUNTDISTINCTCONTRIBUTIONBOUNDINGSTRATEGY']._serialized_start=509
  _globals['_DIFFERENTIALPRIVACYENUMS_COUNTDISTINCTCONTRIBUTIONBOUNDINGSTRATEGY']._serialized_end=768
  _globals['_DIFFERENTIALPRIVACYOUTPUTWITHREPORT']._serialized_start=771
  _globals['_DIFFERENTIALPRIVACYOUTPUTWITHREPORT']._serialized_end=1158
  _globals['_DIFFERENTIALPRIVACYBOUNDINGREPORT']._serialized_start=1161
  _globals['_DIFFERENTIALPRIVACYBOUNDINGREPORT']._serialized_end=1381
  _globals['_DIFFERENTIALLYPRIVATECOUNTDISTINCTBOUNDINGREPORT']._serialized_start=1384
  _globals['_DIFFERENTIALLYPRIVATECOUNTDISTINCTBOUNDINGREPORT']._serialized_end=1602
  _globals['_DIFFERENTIALPRIVACYOUTPUTVALUES']._serialized_start=1604
  _globals['_DIFFERENTIALPRIVACYOUTPUTVALUES']._serialized_end=1704
  _globals['_DIFFERENTIALPRIVACYOUTPUTVALUE']._serialized_start=1707
  _globals['_DIFFERENTIALPRIVACYOUTPUTVALUE']._serialized_end=1885
# @@protoc_insertion_point(module_scope)
