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

import builtins
import google.protobuf.descriptor
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _UserState:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _UserStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_UserState.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    USER_STATE_UNREGISTERED: _UserState.ValueType  # 0
    """User is not registered"""
    USER_STATE_REGISTERED: _UserState.ValueType  # 1
    """User is registered but not verified"""
    USER_STATE_VERIFIED: _UserState.ValueType  # 2
    """User is registered and verified"""
    USER_STATE_EXPIRED: _UserState.ValueType  # 3
    """User's registration has expired"""
    USER_STATE_VERIFICATION_ERROR: _UserState.ValueType  # 4
    """Error occurred during verification"""

class UserState(_UserState, metaclass=_UserStateEnumTypeWrapper):
    """User state enum"""

USER_STATE_UNREGISTERED: UserState.ValueType  # 0
"""User is not registered"""
USER_STATE_REGISTERED: UserState.ValueType  # 1
"""User is registered but not verified"""
USER_STATE_VERIFIED: UserState.ValueType  # 2
"""User is registered and verified"""
USER_STATE_EXPIRED: UserState.ValueType  # 3
"""User's registration has expired"""
USER_STATE_VERIFICATION_ERROR: UserState.ValueType  # 4
"""Error occurred during verification"""
Global___UserState: typing_extensions.TypeAlias = UserState

class _CompileType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _CompileTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CompileType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    FULL: _CompileType.ValueType  # 0
    """Full compile"""
    SPECULATIVE: _CompileType.ValueType  # 1
    """Speculative compile"""

class CompileType(_CompileType, metaclass=_CompileTypeEnumTypeWrapper):
    """Compile type enum"""

FULL: CompileType.ValueType  # 0
"""Full compile"""
SPECULATIVE: CompileType.ValueType  # 1
"""Speculative compile"""
Global___CompileType: typing_extensions.TypeAlias = CompileType

class _CompileCause:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _CompileCauseEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CompileCause.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    COMPILE_CAUSE_DID_SAVE: _CompileCause.ValueType  # 0
    """Compile was caused by a user saving a file"""
    COMPILE_CAUSE_COMPILE_LSP_COMMAND: _CompileCause.ValueType  # 1
    """Compile was caused by an expliict compile command sent to the LSP"""
    COMPILE_CAUSE_REFRESH_SOURCES: _CompileCause.ValueType  # 2
    """Compile was caused by a request to refresh sources for a project"""

class CompileCause(_CompileCause, metaclass=_CompileCauseEnumTypeWrapper): ...

COMPILE_CAUSE_DID_SAVE: CompileCause.ValueType  # 0
"""Compile was caused by a user saving a file"""
COMPILE_CAUSE_COMPILE_LSP_COMMAND: CompileCause.ValueType  # 1
"""Compile was caused by an expliict compile command sent to the LSP"""
COMPILE_CAUSE_REFRESH_SOURCES: CompileCause.ValueType  # 2
"""Compile was caused by a request to refresh sources for a project"""
Global___CompileCause: typing_extensions.TypeAlias = CompileCause

@typing.final
class User(google.protobuf.message.Message):
    """User information"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CREDENTIALS_SOURCE_FIELD_NUMBER: builtins.int
    DBT_CLOUD_USER_ID_FIELD_NUMBER: builtins.int
    DBT_CLOUD_HOSTNAME_FIELD_NUMBER: builtins.int
    REGISTRATION_STATE_FIELD_NUMBER: builtins.int
    credentials_source: builtins.str
    """source used to get credentials for the user (dbt_cloud.yml, web)"""
    dbt_cloud_user_id: builtins.str
    """dbt cloud user id, can be null if the user is not registered"""
    dbt_cloud_hostname: builtins.str
    """dbt cloud hostname, can be null if the user is not registered"""
    registration_state: builtins.str
    """registration state as reported by the vscode extension"""
    def __init__(
        self,
        *,
        credentials_source: builtins.str = ...,
        dbt_cloud_user_id: builtins.str = ...,
        dbt_cloud_hostname: builtins.str = ...,
        registration_state: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["credentials_source", b"credentials_source", "dbt_cloud_hostname", b"dbt_cloud_hostname", "dbt_cloud_user_id", b"dbt_cloud_user_id", "registration_state", b"registration_state"]) -> None: ...

Global___User: typing_extensions.TypeAlias = User

@typing.final
class Editor(google.protobuf.message.Message):
    """Editor and extension information"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SESSION_ID_FIELD_NUMBER: builtins.int
    MACHINE_ID_FIELD_NUMBER: builtins.int
    MAC_MACHINE_ID_FIELD_NUMBER: builtins.int
    EXTENSION_VERSION_FIELD_NUMBER: builtins.int
    EDITOR_NAME_FIELD_NUMBER: builtins.int
    EDITOR_VERSION_FIELD_NUMBER: builtins.int
    session_id: builtins.str
    """session id (reported by the editor)"""
    machine_id: builtins.str
    """machine id (reported by the editor)"""
    mac_machine_id: builtins.str
    """hashed mac address (reported by the editor)"""
    extension_version: builtins.str
    """version of the dbt extension"""
    editor_name: builtins.str
    """editor name (reported by the editor)"""
    editor_version: builtins.str
    """editor version (reported by the editor)"""
    def __init__(
        self,
        *,
        session_id: builtins.str = ...,
        machine_id: builtins.str = ...,
        mac_machine_id: builtins.str = ...,
        extension_version: builtins.str = ...,
        editor_name: builtins.str = ...,
        editor_version: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["editor_name", b"editor_name", "editor_version", b"editor_version", "extension_version", b"extension_version", "mac_machine_id", b"mac_machine_id", "machine_id", b"machine_id", "session_id", b"session_id"]) -> None: ...

Global___Editor: typing_extensions.TypeAlias = Editor

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

    MESSAGE_FIELD_NUMBER: builtins.int
    CODE_FIELD_NUMBER: builtins.int
    message: builtins.str
    """Error message"""
    code: builtins.int
    """Error codes: https://github.com/dbt-labs/fs/blob/main/fs/sa/crates/dbt-common/src/error/codes.rs"""
    def __init__(
        self,
        *,
        message: builtins.str = ...,
        code: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["code", b"code", "message", b"message"]) -> None: ...

Global___CompileError: typing_extensions.TypeAlias = CompileError
