"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ...

class IntVarAssignment(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    VAR_ID_FIELD_NUMBER: builtins.int
    MIN_FIELD_NUMBER: builtins.int
    MAX_FIELD_NUMBER: builtins.int
    ACTIVE_FIELD_NUMBER: builtins.int
    var_id: typing.Text = ...
    min: builtins.int = ...
    max: builtins.int = ...
    active: builtins.bool = ...

    def __init__(self,
        *,
        var_id : typing.Text = ...,
        min : builtins.int = ...,
        max : builtins.int = ...,
        active : builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"active",b"active",u"max",b"max",u"min",b"min",u"var_id",b"var_id"]) -> None: ...
global___IntVarAssignment = IntVarAssignment

class IntervalVarAssignment(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    VAR_ID_FIELD_NUMBER: builtins.int
    START_MIN_FIELD_NUMBER: builtins.int
    START_MAX_FIELD_NUMBER: builtins.int
    DURATION_MIN_FIELD_NUMBER: builtins.int
    DURATION_MAX_FIELD_NUMBER: builtins.int
    END_MIN_FIELD_NUMBER: builtins.int
    END_MAX_FIELD_NUMBER: builtins.int
    PERFORMED_MIN_FIELD_NUMBER: builtins.int
    PERFORMED_MAX_FIELD_NUMBER: builtins.int
    ACTIVE_FIELD_NUMBER: builtins.int
    var_id: typing.Text = ...
    start_min: builtins.int = ...
    start_max: builtins.int = ...
    duration_min: builtins.int = ...
    duration_max: builtins.int = ...
    end_min: builtins.int = ...
    end_max: builtins.int = ...
    performed_min: builtins.int = ...
    performed_max: builtins.int = ...
    active: builtins.bool = ...

    def __init__(self,
        *,
        var_id : typing.Text = ...,
        start_min : builtins.int = ...,
        start_max : builtins.int = ...,
        duration_min : builtins.int = ...,
        duration_max : builtins.int = ...,
        end_min : builtins.int = ...,
        end_max : builtins.int = ...,
        performed_min : builtins.int = ...,
        performed_max : builtins.int = ...,
        active : builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"active",b"active",u"duration_max",b"duration_max",u"duration_min",b"duration_min",u"end_max",b"end_max",u"end_min",b"end_min",u"performed_max",b"performed_max",u"performed_min",b"performed_min",u"start_max",b"start_max",u"start_min",b"start_min",u"var_id",b"var_id"]) -> None: ...
global___IntervalVarAssignment = IntervalVarAssignment

class SequenceVarAssignment(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    VAR_ID_FIELD_NUMBER: builtins.int
    FORWARD_SEQUENCE_FIELD_NUMBER: builtins.int
    BACKWARD_SEQUENCE_FIELD_NUMBER: builtins.int
    UNPERFORMED_FIELD_NUMBER: builtins.int
    ACTIVE_FIELD_NUMBER: builtins.int
    var_id: typing.Text = ...
    forward_sequence: google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int] = ...
    backward_sequence: google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int] = ...
    unperformed: google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int] = ...
    active: builtins.bool = ...

    def __init__(self,
        *,
        var_id : typing.Text = ...,
        forward_sequence : typing.Optional[typing.Iterable[builtins.int]] = ...,
        backward_sequence : typing.Optional[typing.Iterable[builtins.int]] = ...,
        unperformed : typing.Optional[typing.Iterable[builtins.int]] = ...,
        active : builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"active",b"active",u"backward_sequence",b"backward_sequence",u"forward_sequence",b"forward_sequence",u"unperformed",b"unperformed",u"var_id",b"var_id"]) -> None: ...
global___SequenceVarAssignment = SequenceVarAssignment

class WorkerInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    WORKER_ID_FIELD_NUMBER: builtins.int
    BNS_FIELD_NUMBER: builtins.int
    worker_id: builtins.int = ...
    bns: typing.Text = ...

    def __init__(self,
        *,
        worker_id : builtins.int = ...,
        bns : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"bns",b"bns",u"worker_id",b"worker_id"]) -> None: ...
global___WorkerInfo = WorkerInfo

class AssignmentProto(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    INT_VAR_ASSIGNMENT_FIELD_NUMBER: builtins.int
    INTERVAL_VAR_ASSIGNMENT_FIELD_NUMBER: builtins.int
    SEQUENCE_VAR_ASSIGNMENT_FIELD_NUMBER: builtins.int
    OBJECTIVE_FIELD_NUMBER: builtins.int
    WORKER_INFO_FIELD_NUMBER: builtins.int
    IS_VALID_FIELD_NUMBER: builtins.int
    is_valid: builtins.bool = ...

    @property
    def int_var_assignment(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IntVarAssignment]: ...

    @property
    def interval_var_assignment(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IntervalVarAssignment]: ...

    @property
    def sequence_var_assignment(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SequenceVarAssignment]: ...

    @property
    def objective(self) -> global___IntVarAssignment: ...

    @property
    def worker_info(self) -> global___WorkerInfo: ...

    def __init__(self,
        *,
        int_var_assignment : typing.Optional[typing.Iterable[global___IntVarAssignment]] = ...,
        interval_var_assignment : typing.Optional[typing.Iterable[global___IntervalVarAssignment]] = ...,
        sequence_var_assignment : typing.Optional[typing.Iterable[global___SequenceVarAssignment]] = ...,
        objective : typing.Optional[global___IntVarAssignment] = ...,
        worker_info : typing.Optional[global___WorkerInfo] = ...,
        is_valid : builtins.bool = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"objective",b"objective",u"worker_info",b"worker_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"int_var_assignment",b"int_var_assignment",u"interval_var_assignment",b"interval_var_assignment",u"is_valid",b"is_valid",u"objective",b"objective",u"sequence_var_assignment",b"sequence_var_assignment",u"worker_info",b"worker_info"]) -> None: ...
global___AssignmentProto = AssignmentProto
