"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import typing
import yandex.cloud.marketplace.metering.v1.usage_record_pb2

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class WriteUsageRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DRY_RUN_FIELD_NUMBER: builtins.int
    PRODUCT_INSTANCE_ID_FIELD_NUMBER: builtins.int
    USAGE_RECORDS_FIELD_NUMBER: builtins.int
    dry_run: builtins.bool
    """Do not write usage, only validate"""
    product_instance_id: builtins.str
    """Marketplace Product Instance's ID"""
    @property
    def usage_records(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[yandex.cloud.marketplace.metering.v1.usage_record_pb2.UsageRecord]:
        """List of product usage records (up to 25 per request)"""

    def __init__(
        self,
        *,
        dry_run: builtins.bool = ...,
        product_instance_id: builtins.str = ...,
        usage_records: collections.abc.Iterable[yandex.cloud.marketplace.metering.v1.usage_record_pb2.UsageRecord] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["dry_run", b"dry_run", "product_instance_id", b"product_instance_id", "usage_records", b"usage_records"]) -> None: ...

global___WriteUsageRequest = WriteUsageRequest

@typing.final
class WriteUsageResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ACCEPTED_FIELD_NUMBER: builtins.int
    REJECTED_FIELD_NUMBER: builtins.int
    @property
    def accepted(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[yandex.cloud.marketplace.metering.v1.usage_record_pb2.AcceptedUsageRecord]:
        """List of accepted product usage records"""

    @property
    def rejected(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[yandex.cloud.marketplace.metering.v1.usage_record_pb2.RejectedUsageRecord]:
        """List of rejected product usage records (with reason)"""

    def __init__(
        self,
        *,
        accepted: collections.abc.Iterable[yandex.cloud.marketplace.metering.v1.usage_record_pb2.AcceptedUsageRecord] | None = ...,
        rejected: collections.abc.Iterable[yandex.cloud.marketplace.metering.v1.usage_record_pb2.RejectedUsageRecord] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["accepted", b"accepted", "rejected", b"rejected"]) -> None: ...

global___WriteUsageResponse = WriteUsageResponse
