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

from abc import (
    ABCMeta,
    abstractmethod,
)
from chalk._gen.chalk.common.v1.feature_values_pb2 import (
    GetFeatureValuesChartRequest,
    GetFeatureValuesChartResponse,
    GetFeatureValuesTimeSeriesChartRequest,
    GetFeatureValuesTimeSeriesChartResponse,
    GetFeatureValuesTimeSeriesChartV2Request,
    GetFeatureValuesTimeSeriesChartV2Response,
)
from chalk._gen.chalk.common.v1.query_log_pb2 import (
    GetQueryLogEntriesRequest,
    GetQueryLogEntriesResponse,
)
from chalk._gen.chalk.common.v1.query_values_pb2 import (
    GetQueryValuesRequest,
    GetQueryValuesResponse,
)
from grpc import (
    Channel,
    Server,
    ServicerContext,
    UnaryUnaryMultiCallable,
)

class OfflineStoreServiceStub:
    """This service exposes endpoints for dealing with the offline store. It should never depend on the python graph."""

    def __init__(self, channel: Channel) -> None: ...
    GetQueryLogEntries: UnaryUnaryMultiCallable[
        GetQueryLogEntriesRequest,
        GetQueryLogEntriesResponse,
    ]
    GetQueryValues: UnaryUnaryMultiCallable[
        GetQueryValuesRequest,
        GetQueryValuesResponse,
    ]
    GetFeatureValuesChart: UnaryUnaryMultiCallable[
        GetFeatureValuesChartRequest,
        GetFeatureValuesChartResponse,
    ]
    GetFeatureValuesTimeSeriesChart: UnaryUnaryMultiCallable[
        GetFeatureValuesTimeSeriesChartRequest,
        GetFeatureValuesTimeSeriesChartResponse,
    ]
    GetFeatureValuesTimeSeriesChartV2: UnaryUnaryMultiCallable[
        GetFeatureValuesTimeSeriesChartV2Request,
        GetFeatureValuesTimeSeriesChartV2Response,
    ]

class OfflineStoreServiceServicer(metaclass=ABCMeta):
    """This service exposes endpoints for dealing with the offline store. It should never depend on the python graph."""

    @abstractmethod
    def GetQueryLogEntries(
        self,
        request: GetQueryLogEntriesRequest,
        context: ServicerContext,
    ) -> GetQueryLogEntriesResponse: ...
    @abstractmethod
    def GetQueryValues(
        self,
        request: GetQueryValuesRequest,
        context: ServicerContext,
    ) -> GetQueryValuesResponse: ...
    @abstractmethod
    def GetFeatureValuesChart(
        self,
        request: GetFeatureValuesChartRequest,
        context: ServicerContext,
    ) -> GetFeatureValuesChartResponse: ...
    @abstractmethod
    def GetFeatureValuesTimeSeriesChart(
        self,
        request: GetFeatureValuesTimeSeriesChartRequest,
        context: ServicerContext,
    ) -> GetFeatureValuesTimeSeriesChartResponse: ...
    @abstractmethod
    def GetFeatureValuesTimeSeriesChartV2(
        self,
        request: GetFeatureValuesTimeSeriesChartV2Request,
        context: ServicerContext,
    ) -> GetFeatureValuesTimeSeriesChartV2Response: ...

def add_OfflineStoreServiceServicer_to_server(servicer: OfflineStoreServiceServicer, server: Server) -> None: ...
