# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# See https://github.com/eolymp/contracts/tree/main/cmd/protoc-gen-python-esdk for more details.
"""Generated protocol buffer code."""

from google.protobuf import symbol_database as _symbol_database

_sym_db = _symbol_database.Default()


class AtlasClient:
    def __init__(self, transport):
        self.transport = transport

    def CreateProblem(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/CreateProblem",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.CreateProblemOutput"),
            **kwargs,
        )

    def DeleteProblem(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/DeleteProblem",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.DeleteProblemOutput"),
            **kwargs,
        )

    def ListProblems(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/ListProblems",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.ListProblemsOutput"),
            **kwargs,
        )

    def DescribeProblem(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/DescribeProblem",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.DescribeProblemOutput"),
            **kwargs,
        )

    def ListExamples(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/ListExamples",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.ListExamplesOutput"),
            **kwargs,
        )

    def UpdateVerifier(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/UpdateVerifier",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.UpdateVerifierOutput"),
            **kwargs,
        )

    def DescribeVerifier(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/DescribeVerifier",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.DescribeVerifierOutput"),
            **kwargs,
        )

    def UpdateInteractor(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/UpdateInteractor",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.UpdateInteractorOutput"),
            **kwargs,
        )

    def DescribeInteractor(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/DescribeInteractor",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.DescribeInteractorOutput"),
            **kwargs,
        )

    def CreateStatement(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/CreateStatement",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.CreateStatementOutput"),
            **kwargs,
        )

    def UpdateStatement(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/UpdateStatement",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.UpdateStatementOutput"),
            **kwargs,
        )

    def DeleteStatement(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/DeleteStatement",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.DeleteStatementOutput"),
            **kwargs,
        )

    def ListStatements(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/ListStatements",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.ListStatementsOutput"),
            **kwargs,
        )

    def DescribeStatement(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/DescribeStatement",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.DescribeStatementOutput"),
            **kwargs,
        )

    def CreateTestset(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/CreateTestset",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.CreateTestsetOutput"),
            **kwargs,
        )

    def UpdateTestset(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/UpdateTestset",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.UpdateTestsetOutput"),
            **kwargs,
        )

    def DeleteTestset(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/DeleteTestset",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.DeleteTestsetOutput"),
            **kwargs,
        )

    def ListTestsets(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/ListTestsets",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.ListTestsetsOutput"),
            **kwargs,
        )

    def DescribeTestset(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/DescribeTestset",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.DescribeTestsetOutput"),
            **kwargs,
        )

    def CreateTest(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/CreateTest",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.CreateTestOutput"),
            **kwargs,
        )

    def UpdateTest(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/UpdateTest",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.UpdateTestOutput"),
            **kwargs,
        )

    def DeleteTest(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/DeleteTest",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.DeleteTestOutput"),
            **kwargs,
        )

    def ListTests(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/ListTests",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.ListTestsOutput"),
            **kwargs,
        )

    def DescribeTest(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/DescribeTest",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.DescribeTestOutput"),
            **kwargs,
        )

    def GrantPermission(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/GrantPermission",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.GrantPermissionOutput"),
            **kwargs,
        )

    def RevokePermission(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/RevokePermission",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.RevokePermissionOutput"),
            **kwargs,
        )

    def ListPermissions(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/ListPermissions",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.ListPermissionsOutput"),
            **kwargs,
        )

    def CreateCodeTemplate(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/CreateCodeTemplate",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.CreateCodeTemplateOutput"),
            **kwargs,
        )

    def UpdateCodeTemplate(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/UpdateCodeTemplate",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.UpdateCodeTemplateOutput"),
            **kwargs,
        )

    def DeleteCodeTemplate(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/DeleteCodeTemplate",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.DeleteCodeTemplateOutput"),
            **kwargs,
        )

    def ListCodeTemplates(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/ListCodeTemplates",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.ListCodeTemplatesOutput"),
            **kwargs,
        )

    def DescribeCodeTemplate(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/DescribeCodeTemplate",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.DescribeCodeTemplateOutput"),
            **kwargs,
        )

