# @generated by generate_proto_mypy_stubs.py.  Do not edit!
import sys
from google.protobuf.descriptor import (
    Descriptor as google___protobuf___descriptor___Descriptor,
    EnumDescriptor as google___protobuf___descriptor___EnumDescriptor,
    FileDescriptor as google___protobuf___descriptor___FileDescriptor,
)

from google.protobuf.internal.enum_type_wrapper import (
    _EnumTypeWrapper as google___protobuf___internal___enum_type_wrapper____EnumTypeWrapper,
)

from google.protobuf.message import (
    Message as google___protobuf___message___Message,
)

from typing import (
    NewType as typing___NewType,
    Union as typing___Union,
    cast as typing___cast,
)


builtin___bytes = bytes
builtin___int = int
if sys.version_info < (3,):
    builtin___buffer = buffer
    builtin___unicode = unicode


DESCRIPTOR: google___protobuf___descriptor___FileDescriptor = ...

class FirstSolutionStrategy(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    ValueValue = typing___NewType('ValueValue', builtin___int)
    type___ValueValue = ValueValue
    Value: _Value
    class _Value(google___protobuf___internal___enum_type_wrapper____EnumTypeWrapper[FirstSolutionStrategy.ValueValue]):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        UNSET = typing___cast(FirstSolutionStrategy.ValueValue, 0)
        AUTOMATIC = typing___cast(FirstSolutionStrategy.ValueValue, 15)
        PATH_CHEAPEST_ARC = typing___cast(FirstSolutionStrategy.ValueValue, 3)
        PATH_MOST_CONSTRAINED_ARC = typing___cast(FirstSolutionStrategy.ValueValue, 4)
        EVALUATOR_STRATEGY = typing___cast(FirstSolutionStrategy.ValueValue, 5)
        SAVINGS = typing___cast(FirstSolutionStrategy.ValueValue, 10)
        SWEEP = typing___cast(FirstSolutionStrategy.ValueValue, 11)
        CHRISTOFIDES = typing___cast(FirstSolutionStrategy.ValueValue, 13)
        ALL_UNPERFORMED = typing___cast(FirstSolutionStrategy.ValueValue, 6)
        BEST_INSERTION = typing___cast(FirstSolutionStrategy.ValueValue, 7)
        PARALLEL_CHEAPEST_INSERTION = typing___cast(FirstSolutionStrategy.ValueValue, 8)
        SEQUENTIAL_CHEAPEST_INSERTION = typing___cast(FirstSolutionStrategy.ValueValue, 14)
        LOCAL_CHEAPEST_INSERTION = typing___cast(FirstSolutionStrategy.ValueValue, 9)
        GLOBAL_CHEAPEST_ARC = typing___cast(FirstSolutionStrategy.ValueValue, 1)
        LOCAL_CHEAPEST_ARC = typing___cast(FirstSolutionStrategy.ValueValue, 2)
        FIRST_UNBOUND_MIN_VALUE = typing___cast(FirstSolutionStrategy.ValueValue, 12)
    UNSET = typing___cast(FirstSolutionStrategy.ValueValue, 0)
    AUTOMATIC = typing___cast(FirstSolutionStrategy.ValueValue, 15)
    PATH_CHEAPEST_ARC = typing___cast(FirstSolutionStrategy.ValueValue, 3)
    PATH_MOST_CONSTRAINED_ARC = typing___cast(FirstSolutionStrategy.ValueValue, 4)
    EVALUATOR_STRATEGY = typing___cast(FirstSolutionStrategy.ValueValue, 5)
    SAVINGS = typing___cast(FirstSolutionStrategy.ValueValue, 10)
    SWEEP = typing___cast(FirstSolutionStrategy.ValueValue, 11)
    CHRISTOFIDES = typing___cast(FirstSolutionStrategy.ValueValue, 13)
    ALL_UNPERFORMED = typing___cast(FirstSolutionStrategy.ValueValue, 6)
    BEST_INSERTION = typing___cast(FirstSolutionStrategy.ValueValue, 7)
    PARALLEL_CHEAPEST_INSERTION = typing___cast(FirstSolutionStrategy.ValueValue, 8)
    SEQUENTIAL_CHEAPEST_INSERTION = typing___cast(FirstSolutionStrategy.ValueValue, 14)
    LOCAL_CHEAPEST_INSERTION = typing___cast(FirstSolutionStrategy.ValueValue, 9)
    GLOBAL_CHEAPEST_ARC = typing___cast(FirstSolutionStrategy.ValueValue, 1)
    LOCAL_CHEAPEST_ARC = typing___cast(FirstSolutionStrategy.ValueValue, 2)
    FIRST_UNBOUND_MIN_VALUE = typing___cast(FirstSolutionStrategy.ValueValue, 12)
    type___Value = Value


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> FirstSolutionStrategy: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> FirstSolutionStrategy: ...
type___FirstSolutionStrategy = FirstSolutionStrategy

class LocalSearchMetaheuristic(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    ValueValue = typing___NewType('ValueValue', builtin___int)
    type___ValueValue = ValueValue
    Value: _Value
    class _Value(google___protobuf___internal___enum_type_wrapper____EnumTypeWrapper[LocalSearchMetaheuristic.ValueValue]):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        UNSET = typing___cast(LocalSearchMetaheuristic.ValueValue, 0)
        AUTOMATIC = typing___cast(LocalSearchMetaheuristic.ValueValue, 6)
        GREEDY_DESCENT = typing___cast(LocalSearchMetaheuristic.ValueValue, 1)
        GUIDED_LOCAL_SEARCH = typing___cast(LocalSearchMetaheuristic.ValueValue, 2)
        SIMULATED_ANNEALING = typing___cast(LocalSearchMetaheuristic.ValueValue, 3)
        TABU_SEARCH = typing___cast(LocalSearchMetaheuristic.ValueValue, 4)
        GENERIC_TABU_SEARCH = typing___cast(LocalSearchMetaheuristic.ValueValue, 5)
    UNSET = typing___cast(LocalSearchMetaheuristic.ValueValue, 0)
    AUTOMATIC = typing___cast(LocalSearchMetaheuristic.ValueValue, 6)
    GREEDY_DESCENT = typing___cast(LocalSearchMetaheuristic.ValueValue, 1)
    GUIDED_LOCAL_SEARCH = typing___cast(LocalSearchMetaheuristic.ValueValue, 2)
    SIMULATED_ANNEALING = typing___cast(LocalSearchMetaheuristic.ValueValue, 3)
    TABU_SEARCH = typing___cast(LocalSearchMetaheuristic.ValueValue, 4)
    GENERIC_TABU_SEARCH = typing___cast(LocalSearchMetaheuristic.ValueValue, 5)
    type___Value = Value


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> LocalSearchMetaheuristic: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> LocalSearchMetaheuristic: ...
type___LocalSearchMetaheuristic = LocalSearchMetaheuristic
