// @generated by protoc-gen-connect-es v1.6.1 with parameter "target=ts,import_extension=.js"
// @generated from file gfxcafe/oku/account/v1/auth.proto (package gfxcafe.oku.account.v1, syntax proto3)
/* eslint-disable */
// @ts-nocheck

import { BridgeInfoRequest, BridgeInfoResponse, BridgeInfoSetRequest, BridgeInfoSetResponse, EmailChallengeRequest, EmailChallengeResponse, EmailConfirmRequest, EmailConfirmResponse, EmailVerifyRequest, EmailVerifyResponse, EvmChallengeRequest, EvmChallengeResponse, EvmSolveRequest, EvmSolveResponse, ExtendSessionRequest, ExtendSessionResponse, LogoutRequest, LogoutResponse, ManageMergeRequest, ManageMergeResponse, ManageRemoveWalletIdpRequest, ManageRemoveWalletIdpResponse, UserInfoRequest, UserInfoResponse, UserInfoUpdateDisplayNameRequest, UserInfoUpdateDisplayNameResponse } from "./auth_pb.js";
import { MethodKind } from "@bufbuild/protobuf";

/**
 * AuthService handles authentication and session management
 *
 * EVM authentication endpoints (/auth/evm/*)
 *
 * @generated from service gfxcafe.oku.account.v1.AuthService
 */
export const AuthService = {
  typeName: "gfxcafe.oku.account.v1.AuthService",
  methods: {
    /**
     * Create a challenge for EVM wallet authentication (/auth/evm/challenge)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.EvmChallenge
     */
    evmChallenge: {
      name: "EvmChallenge",
      I: EvmChallengeRequest,
      O: EvmChallengeResponse,
      kind: MethodKind.Unary,
    },
    /**
     * Solve the challenge to authenticate (/auth/evm/solve)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.EvmSolve
     */
    evmSolve: {
      name: "EvmSolve",
      I: EvmSolveRequest,
      O: EvmSolveResponse,
      kind: MethodKind.Unary,
    },
    /**
     * Logout and invalidate session (/auth/logout)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.Logout
     */
    logout: {
      name: "Logout",
      I: LogoutRequest,
      O: LogoutResponse,
      kind: MethodKind.Unary,
    },
    /**
     * Extend the current session (/auth/extend_session)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.ExtendSession
     */
    extendSession: {
      name: "ExtendSession",
      I: ExtendSessionRequest,
      O: ExtendSessionResponse,
      kind: MethodKind.Unary,
    },
    /**
     * Get current user information (/auth/user_info)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.UserInfo
     */
    userInfo: {
      name: "UserInfo",
      I: UserInfoRequest,
      O: UserInfoResponse,
      kind: MethodKind.Unary,
    },
    /**
     * Update user's display name (/auth/user_info/update/display_name)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.UserInfoUpdateDisplayName
     */
    userInfoUpdateDisplayName: {
      name: "UserInfoUpdateDisplayName",
      I: UserInfoUpdateDisplayNameRequest,
      O: UserInfoUpdateDisplayNameResponse,
      kind: MethodKind.Unary,
    },
    /**
     * Get bridge information for the user (/auth/bridge_info)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.BridgeInfo
     */
    bridgeInfo: {
      name: "BridgeInfo",
      I: BridgeInfoRequest,
      O: BridgeInfoResponse,
      kind: MethodKind.Unary,
    },
    /**
     * Set bridge information for the user (/auth/bridge_info)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.BridgeInfoSet
     */
    bridgeInfoSet: {
      name: "BridgeInfoSet",
      I: BridgeInfoSetRequest,
      O: BridgeInfoSetResponse,
      kind: MethodKind.Unary,
    },
    /**
     * Request email login code (/auth/email/challenge)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.EmailChallenge
     */
    emailChallenge: {
      name: "EmailChallenge",
      I: EmailChallengeRequest,
      O: EmailChallengeResponse,
      kind: MethodKind.Unary,
    },
    /**
     * Verify email with code (/auth/email/verify)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.EmailVerify
     */
    emailVerify: {
      name: "EmailVerify",
      I: EmailVerifyRequest,
      O: EmailVerifyResponse,
      kind: MethodKind.Unary,
    },
    /**
     * Confirm email verification (/auth/email/confirm)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.EmailConfirm
     */
    emailConfirm: {
      name: "EmailConfirm",
      I: EmailConfirmRequest,
      O: EmailConfirmResponse,
      kind: MethodKind.Unary,
    },
    /**
     * Merge two user accounts (/auth/manage/merge)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.ManageMerge
     */
    manageMerge: {
      name: "ManageMerge",
      I: ManageMergeRequest,
      O: ManageMergeResponse,
      kind: MethodKind.Unary,
    },
    /**
     * Remove wallet IDP from user (/auth/manage/remove_wallet_idp)
     *
     * @generated from rpc gfxcafe.oku.account.v1.AuthService.ManageRemoveWalletIdp
     */
    manageRemoveWalletIdp: {
      name: "ManageRemoveWalletIdp",
      I: ManageRemoveWalletIdpRequest,
      O: ManageRemoveWalletIdpResponse,
      kind: MethodKind.Unary,
    },
  }
} as const;

