"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
Copyright 2016-2023, Pulumi Corporation.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""
import abc
import grpc
import grpc.aio
import typing
import pulumi.converter_pb2

class ConverterStub:
    """Converter is a service for converting between other ecosystems and Pulumi.
    This is currently unstable and experimental.
    """

    def __init__(self, channel: grpc.Channel) -> None: ...
    ConvertState: grpc.UnaryUnaryMultiCallable[
        pulumi.converter_pb2.ConvertStateRequest,
        pulumi.converter_pb2.ConvertStateResponse,
    ]
    """ConvertState converts state from the target ecosystem into a form that can be imported into Pulumi."""
    ConvertProgram: grpc.UnaryUnaryMultiCallable[
        pulumi.converter_pb2.ConvertProgramRequest,
        pulumi.converter_pb2.ConvertProgramResponse,
    ]
    """ConvertProgram converts a program from the target ecosystem into a form that can be used with Pulumi."""

class ConverterServicer(metaclass=abc.ABCMeta):
    """Converter is a service for converting between other ecosystems and Pulumi.
    This is currently unstable and experimental.
    """

    
    def ConvertState(
        self,
        request: pulumi.converter_pb2.ConvertStateRequest,
        context: grpc.ServicerContext,
    ) -> pulumi.converter_pb2.ConvertStateResponse:
        """ConvertState converts state from the target ecosystem into a form that can be imported into Pulumi."""
    
    def ConvertProgram(
        self,
        request: pulumi.converter_pb2.ConvertProgramRequest,
        context: grpc.ServicerContext,
    ) -> pulumi.converter_pb2.ConvertProgramResponse:
        """ConvertProgram converts a program from the target ecosystem into a form that can be used with Pulumi."""

def add_ConverterServicer_to_server(servicer: ConverterServicer, server: typing.Union[grpc.Server, grpc.aio.Server]) -> None: ...
