// @generated by protobuf-ts 2.10.0 with parameter optimize_code_size
// @generated from protobuf file "auth_svc.proto" (package "auth_svc", syntax proto3)
// tslint:disable
//
// Code generated with goa v3.20.1, DO NOT EDIT.
//
// AuthSvc protocol buffer definition
//
// Command:
// $ goa gen github.com/searchmoe/search-service/api/design -o ../
//
import { ServiceType } from "@protobuf-ts/runtime-rpc";
import { MessageType } from "@protobuf-ts/runtime";
/**
 * @generated from protobuf message auth_svc.WalletSignInStartRequest
 */
export interface WalletSignInStartRequest {
    /**
     * Auth schema version, for graceful protocol upgrades
     *
     * @generated from protobuf field: string schema = 1;
     */
    schema: string;
    /**
     * Expected wallet address
     *
     * @generated from protobuf field: string address = 2;
     */
    address: string;
}
/**
 * @generated from protobuf message auth_svc.WalletSignInStartResponse
 */
export interface WalletSignInStartResponse {
    /**
     * Server-provided timestamp (millis)
     *
     * @generated from protobuf field: sint64 timestamp = 1;
     */
    timestamp: bigint;
    /**
     * Server-provided digest to sign
     *
     * @generated from protobuf field: string digest = 2;
     */
    digest: string;
    /**
     * EIP712-compatible message suitable for signing with eth_signTypedData_v4
     *
     * @generated from protobuf field: string data = 3;
     */
    data: string;
}
/**
 * @generated from protobuf message auth_svc.WalletSignInFinalizeRequest
 */
export interface WalletSignInFinalizeRequest {
    /**
     * Auth schema version, for graceful protocol upgrades
     *
     * @generated from protobuf field: string schema = 1;
     */
    schema: string;
    /**
     * Server-provided timestamp (millis)
     *
     * @generated from protobuf field: sint64 timestamp = 2;
     */
    timestamp: bigint;
    /**
     * Server-provided digest to sign
     *
     * @generated from protobuf field: string digest = 3;
     */
    digest: string;
    /**
     * Hex-encoded signature of the payload
     *
     * @generated from protobuf field: string signature = 4;
     */
    signature: string;
}
/**
 * @generated from protobuf message auth_svc.WalletSignInFinalizeResponse
 */
export interface WalletSignInFinalizeResponse {
    /**
     * JWT Token
     *
     * @generated from protobuf field: string jwt = 1;
     */
    jwt: string;
    /**
     * Flag if the signin flow is expired
     *
     * @generated from protobuf field: bool expired = 2;
     */
    expired: boolean;
}
/**
 * @generated from protobuf message auth_svc.EmailSignInStartRequest
 */
export interface EmailSignInStartRequest {
    /**
     * Email auth provider
     *
     * @generated from protobuf field: string provider = 1;
     */
    provider: string;
    /**
     * Expected email address
     *
     * @generated from protobuf field: string email_address = 2;
     */
    emailAddress: string;
    /**
     * Public key of the target iframe (used with Alchemy/Turnkey provider)
     *
     * @generated from protobuf field: optional string pubkey = 3;
     */
    pubkey?: string;
    /**
     * If environment is for preview domain
     *
     * @generated from protobuf field: bool preview = 4;
     */
    preview: boolean;
}
/**
 * @generated from protobuf message auth_svc.EmailSignInStartResponse
 */
export interface EmailSignInStartResponse {
    /**
     * Server-enforced cooldown delay (millis)
     *
     * @generated from protobuf field: sint64 cooldown = 1;
     */
    cooldown: bigint;
}
/**
 * @generated from protobuf message auth_svc.EmailSignInFinalizeRequest
 */
export interface EmailSignInFinalizeRequest {
    /**
     * Email auth provider
     *
     * @generated from protobuf field: string provider = 1;
     */
    provider: string;
    /**
     * Turnkey orgID generated during auth flow (used with Alchemy/Turnkey provider)
     *
     * @generated from protobuf field: optional string org_id = 2;
     */
    orgId?: string;
    /**
     * Public key of the target iframe (used with Alchemy/Turnkey provider)
     *
     * @generated from protobuf field: optional string pubkey = 3;
     */
    pubkey?: string;
    /**
     * Turnkey bundle for the user (used with Alchemy/Turnkey provider)
     *
     * @generated from protobuf field: optional string bundle = 4;
     */
    bundle?: string;
    /**
     * Turnkey x-stamp exchanged from a bundle in an iframe (used with
     * Alchemy/Turnkey provider)
     *
     * @generated from protobuf field: optional string x_stamp = 5;
     */
    xStamp?: string;
    /**
     * If environment is for preview domain
     *
     * @generated from protobuf field: bool preview = 6;
     */
    preview: boolean;
}
/**
 * @generated from protobuf message auth_svc.EmailSignInFinalizeResponse
 */
export interface EmailSignInFinalizeResponse {
    /**
     * JWT Token
     *
     * @generated from protobuf field: string jwt = 1;
     */
    jwt: string;
    /**
     * Flag if the signin flow is expired
     *
     * @generated from protobuf field: bool expired = 2;
     */
    expired: boolean;
}
/**
 * @generated from protobuf message auth_svc.WalletSignInAttachRequest
 */
export interface WalletSignInAttachRequest {
    /**
     * Auth schema version, for graceful protocol upgrades
     *
     * @generated from protobuf field: string schema = 1;
     */
    schema: string;
    /**
     * Expected wallet address
     *
     * @generated from protobuf field: string address = 2;
     */
    address: string;
}
/**
 * @generated from protobuf message auth_svc.WalletSignInAttachResponse
 */
export interface WalletSignInAttachResponse {
    /**
     * Server-provided timestamp (millis)
     *
     * @generated from protobuf field: sint64 timestamp = 1;
     */
    timestamp: bigint;
    /**
     * Server-provided digest to sign
     *
     * @generated from protobuf field: string digest = 2;
     */
    digest: string;
    /**
     * EIP712-compatible message suitable for signing with eth_signTypedData_v4
     *
     * @generated from protobuf field: string data = 3;
     */
    data: string;
}
/**
 * @generated from protobuf message auth_svc.OauthDetachRequest
 */
export interface OauthDetachRequest {
    /**
     * One of the supported OAuth2 providers.
     *
     * @generated from protobuf field: string provider = 1;
     */
    provider: string;
}
/**
 * @generated from protobuf message auth_svc.OauthDetachResponse
 */
export interface OauthDetachResponse {
}
/**
 * @generated from protobuf message auth_svc.WalletSignInAttachFinalizeRequest
 */
export interface WalletSignInAttachFinalizeRequest {
    /**
     * Auth schema version, for graceful protocol upgrades
     *
     * @generated from protobuf field: string schema = 1;
     */
    schema: string;
    /**
     * Server-provided timestamp (millis)
     *
     * @generated from protobuf field: sint64 timestamp = 2;
     */
    timestamp: bigint;
    /**
     * Server-provided digest to sign
     *
     * @generated from protobuf field: string digest = 3;
     */
    digest: string;
    /**
     * Hex-encoded signature of the payload
     *
     * @generated from protobuf field: string signature = 4;
     */
    signature: string;
}
/**
 * @generated from protobuf message auth_svc.WalletSignInAttachFinalizeResponse
 */
export interface WalletSignInAttachFinalizeResponse {
    /**
     * Flag if the attach flow is expired
     *
     * @generated from protobuf field: bool expired = 1;
     */
    expired: boolean;
}
/**
 * @generated from protobuf message auth_svc.EmailSignInAttachRequest
 */
export interface EmailSignInAttachRequest {
    /**
     * Email auth provider
     *
     * @generated from protobuf field: string provider = 1;
     */
    provider: string;
    /**
     * Expected email address
     *
     * @generated from protobuf field: string email_address = 2;
     */
    emailAddress: string;
    /**
     * Public key of the target iframe (used with Alchemy/Turnkey provider)
     *
     * @generated from protobuf field: optional string pubkey = 3;
     */
    pubkey?: string;
    /**
     * If environment is for preview domain
     *
     * @generated from protobuf field: bool preview = 4;
     */
    preview: boolean;
}
/**
 * @generated from protobuf message auth_svc.EmailSignInAttachResponse
 */
export interface EmailSignInAttachResponse {
    /**
     * Server-enforced cooldown delay (millis)
     *
     * @generated from protobuf field: sint64 cooldown = 1;
     */
    cooldown: bigint;
}
/**
 * @generated from protobuf message auth_svc.EmailSignInAttachFinalizeRequest
 */
export interface EmailSignInAttachFinalizeRequest {
    /**
     * Email auth provider
     *
     * @generated from protobuf field: string provider = 1;
     */
    provider: string;
    /**
     * Turnkey orgID generated during auth flow (used with Alchemy/Turnkey provider)
     *
     * @generated from protobuf field: optional string org_id = 2;
     */
    orgId?: string;
    /**
     * Public key of the target iframe (used with Alchemy/Turnkey provider)
     *
     * @generated from protobuf field: optional string pubkey = 3;
     */
    pubkey?: string;
    /**
     * Turnkey bundle for the user (used with Alchemy/Turnkey provider)
     *
     * @generated from protobuf field: optional string bundle = 4;
     */
    bundle?: string;
    /**
     * Turnkey x-stamp exchanged from a bundle in an iframe (used with
     * Alchemy/Turnkey provider)
     *
     * @generated from protobuf field: optional string x_stamp = 5;
     */
    xStamp?: string;
    /**
     * If environment is for preview domain
     *
     * @generated from protobuf field: bool preview = 6;
     */
    preview: boolean;
}
/**
 * @generated from protobuf message auth_svc.EmailSignInAttachFinalizeResponse
 */
export interface EmailSignInAttachFinalizeResponse {
    /**
     * Flag if the attach flow is expired
     *
     * @generated from protobuf field: bool expired = 1;
     */
    expired: boolean;
}
/**
 * @generated from protobuf message auth_svc.SessionCheckRequest
 */
export interface SessionCheckRequest {
}
/**
 * @generated from protobuf message auth_svc.SessionCheckResponse
 */
export interface SessionCheckResponse {
    /**
     * @generated from protobuf field: optional string status = 1;
     */
    status?: string;
}
/**
 * @generated from protobuf message auth_svc.ProfileInfoRequest
 */
export interface ProfileInfoRequest {
}
/**
 * @generated from protobuf message auth_svc.ProfileInfoResponse
 */
export interface ProfileInfoResponse {
    /**
     * User ID.
     *
     * @generated from protobuf field: string user_id = 1;
     */
    userId: string;
    /**
     * Full name.
     *
     * @generated from protobuf field: string name = 2;
     */
    name: string;
    /**
     * Email address.
     *
     * @generated from protobuf field: optional string email = 3;
     */
    email?: string;
    /**
     * Ethereum wallet address.
     *
     * @generated from protobuf field: optional string wallet_address = 4;
     */
    walletAddress?: string;
    /**
     * Contact phone number.
     *
     * @generated from protobuf field: optional string contact_phone = 5;
     */
    contactPhone?: string;
    /**
     * Avatar URL.
     *
     * @generated from protobuf field: string avatar = 6;
     */
    avatar: string;
    /**
     * Google Oauth2 ID, if connected.
     *
     * @generated from protobuf field: optional string oauth_google_id = 7;
     */
    oauthGoogleId?: string;
}
/**
 * @generated from protobuf message auth_svc.ProfileSetNameRequest
 */
export interface ProfileSetNameRequest {
    /**
     * Full name.
     *
     * @generated from protobuf field: string name = 1;
     */
    name: string;
}
/**
 * @generated from protobuf message auth_svc.ProfileSetNameResponse
 */
export interface ProfileSetNameResponse {
}
/**
 * @generated from protobuf message auth_svc.ProfileSetContactPhoneRequest
 */
export interface ProfileSetContactPhoneRequest {
    /**
     * Contact phone number.
     *
     * @generated from protobuf field: string contact_phone = 1;
     */
    contactPhone: string;
}
/**
 * @generated from protobuf message auth_svc.ProfileSetContactPhoneResponse
 */
export interface ProfileSetContactPhoneResponse {
}
/**
 * @generated from protobuf message auth_svc.OauthGoogleAttachRequest
 */
export interface OauthGoogleAttachRequest {
}
/**
 * @generated from protobuf message auth_svc.OauthGoogleAttachResponse
 */
export interface OauthGoogleAttachResponse {
    /**
     * OAuth2 redirect URL
     *
     * @generated from protobuf field: string redirect_url = 1;
     */
    redirectUrl: string;
}
/**
 * @generated from protobuf message auth_svc.OauthGoogleSignInRequest
 */
export interface OauthGoogleSignInRequest {
}
/**
 * @generated from protobuf message auth_svc.OauthGoogleSignInResponse
 */
export interface OauthGoogleSignInResponse {
    /**
     * OAuth2 redirect URL
     *
     * @generated from protobuf field: string redirect_url = 1;
     */
    redirectUrl: string;
}
/**
 * @generated from protobuf message auth_svc.OauthGoogleCallbackRequest
 */
export interface OauthGoogleCallbackRequest {
    /**
     * The authorization code returned from the OAuth provider
     *
     * @generated from protobuf field: string code = 1;
     */
    code: string;
    /**
     * The state parameter for CSRF protection
     *
     * @generated from protobuf field: string state = 2;
     */
    state: string;
}
/**
 * @generated from protobuf message auth_svc.OauthGoogleCallbackResponse
 */
export interface OauthGoogleCallbackResponse {
    /**
     * JWT Token
     *
     * @generated from protobuf field: string jwt = 1;
     */
    jwt: string;
    /**
     * Flag if the signin flow is expired
     *
     * @generated from protobuf field: bool expired = 2;
     */
    expired: boolean;
    /**
     * Basic user information
     *
     * @generated from protobuf field: auth_svc.UserInfo user_info = 3;
     */
    userInfo?: UserInfo;
}
/**
 * Basic user information obtained from the OAuth provider
 *
 * @generated from protobuf message auth_svc.UserInfo
 */
export interface UserInfo {
    /**
     * Unique user identifier
     *
     * @generated from protobuf field: string id = 1;
     */
    id: string;
    /**
     * User's email address
     *
     * @generated from protobuf field: string email = 2;
     */
    email: string;
    /**
     * User's full name
     *
     * @generated from protobuf field: optional string name = 3;
     */
    name?: string;
}
/**
 * @generated from protobuf message auth_svc.HealthCheckRequest
 */
export interface HealthCheckRequest {
}
/**
 * @generated from protobuf message auth_svc.HealthCheckResponse
 */
export interface HealthCheckResponse {
    /**
     * Uptime as string
     *
     * @generated from protobuf field: string uptime = 1;
     */
    uptime: string;
    /**
     * Uptime in seconds
     *
     * @generated from protobuf field: sint32 uptime_seconds = 2;
     */
    uptimeSeconds: number;
}
// @generated message type with reflection information, may provide speed optimized methods
class WalletSignInStartRequest$Type extends MessageType<WalletSignInStartRequest> {
    constructor() {
        super("auth_svc.WalletSignInStartRequest", [
            { no: 1, name: "schema", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "address", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.WalletSignInStartRequest
 */
export const WalletSignInStartRequest = new WalletSignInStartRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class WalletSignInStartResponse$Type extends MessageType<WalletSignInStartResponse> {
    constructor() {
        super("auth_svc.WalletSignInStartResponse", [
            { no: 1, name: "timestamp", kind: "scalar", T: 18 /*ScalarType.SINT64*/, L: 0 /*LongType.BIGINT*/ },
            { no: 2, name: "digest", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 3, name: "data", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.WalletSignInStartResponse
 */
export const WalletSignInStartResponse = new WalletSignInStartResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class WalletSignInFinalizeRequest$Type extends MessageType<WalletSignInFinalizeRequest> {
    constructor() {
        super("auth_svc.WalletSignInFinalizeRequest", [
            { no: 1, name: "schema", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "timestamp", kind: "scalar", T: 18 /*ScalarType.SINT64*/, L: 0 /*LongType.BIGINT*/ },
            { no: 3, name: "digest", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 4, name: "signature", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.WalletSignInFinalizeRequest
 */
export const WalletSignInFinalizeRequest = new WalletSignInFinalizeRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class WalletSignInFinalizeResponse$Type extends MessageType<WalletSignInFinalizeResponse> {
    constructor() {
        super("auth_svc.WalletSignInFinalizeResponse", [
            { no: 1, name: "jwt", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "expired", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.WalletSignInFinalizeResponse
 */
export const WalletSignInFinalizeResponse = new WalletSignInFinalizeResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class EmailSignInStartRequest$Type extends MessageType<EmailSignInStartRequest> {
    constructor() {
        super("auth_svc.EmailSignInStartRequest", [
            { no: 1, name: "provider", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "email_address", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 3, name: "pubkey", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 4, name: "preview", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.EmailSignInStartRequest
 */
export const EmailSignInStartRequest = new EmailSignInStartRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class EmailSignInStartResponse$Type extends MessageType<EmailSignInStartResponse> {
    constructor() {
        super("auth_svc.EmailSignInStartResponse", [
            { no: 1, name: "cooldown", kind: "scalar", T: 18 /*ScalarType.SINT64*/, L: 0 /*LongType.BIGINT*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.EmailSignInStartResponse
 */
export const EmailSignInStartResponse = new EmailSignInStartResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class EmailSignInFinalizeRequest$Type extends MessageType<EmailSignInFinalizeRequest> {
    constructor() {
        super("auth_svc.EmailSignInFinalizeRequest", [
            { no: 1, name: "provider", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "org_id", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 3, name: "pubkey", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 4, name: "bundle", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 5, name: "x_stamp", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 6, name: "preview", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.EmailSignInFinalizeRequest
 */
export const EmailSignInFinalizeRequest = new EmailSignInFinalizeRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class EmailSignInFinalizeResponse$Type extends MessageType<EmailSignInFinalizeResponse> {
    constructor() {
        super("auth_svc.EmailSignInFinalizeResponse", [
            { no: 1, name: "jwt", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "expired", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.EmailSignInFinalizeResponse
 */
export const EmailSignInFinalizeResponse = new EmailSignInFinalizeResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class WalletSignInAttachRequest$Type extends MessageType<WalletSignInAttachRequest> {
    constructor() {
        super("auth_svc.WalletSignInAttachRequest", [
            { no: 1, name: "schema", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "address", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.WalletSignInAttachRequest
 */
export const WalletSignInAttachRequest = new WalletSignInAttachRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class WalletSignInAttachResponse$Type extends MessageType<WalletSignInAttachResponse> {
    constructor() {
        super("auth_svc.WalletSignInAttachResponse", [
            { no: 1, name: "timestamp", kind: "scalar", T: 18 /*ScalarType.SINT64*/, L: 0 /*LongType.BIGINT*/ },
            { no: 2, name: "digest", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 3, name: "data", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.WalletSignInAttachResponse
 */
export const WalletSignInAttachResponse = new WalletSignInAttachResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class OauthDetachRequest$Type extends MessageType<OauthDetachRequest> {
    constructor() {
        super("auth_svc.OauthDetachRequest", [
            { no: 1, name: "provider", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.OauthDetachRequest
 */
export const OauthDetachRequest = new OauthDetachRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class OauthDetachResponse$Type extends MessageType<OauthDetachResponse> {
    constructor() {
        super("auth_svc.OauthDetachResponse", []);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.OauthDetachResponse
 */
export const OauthDetachResponse = new OauthDetachResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class WalletSignInAttachFinalizeRequest$Type extends MessageType<WalletSignInAttachFinalizeRequest> {
    constructor() {
        super("auth_svc.WalletSignInAttachFinalizeRequest", [
            { no: 1, name: "schema", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "timestamp", kind: "scalar", T: 18 /*ScalarType.SINT64*/, L: 0 /*LongType.BIGINT*/ },
            { no: 3, name: "digest", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 4, name: "signature", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.WalletSignInAttachFinalizeRequest
 */
export const WalletSignInAttachFinalizeRequest = new WalletSignInAttachFinalizeRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class WalletSignInAttachFinalizeResponse$Type extends MessageType<WalletSignInAttachFinalizeResponse> {
    constructor() {
        super("auth_svc.WalletSignInAttachFinalizeResponse", [
            { no: 1, name: "expired", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.WalletSignInAttachFinalizeResponse
 */
export const WalletSignInAttachFinalizeResponse = new WalletSignInAttachFinalizeResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class EmailSignInAttachRequest$Type extends MessageType<EmailSignInAttachRequest> {
    constructor() {
        super("auth_svc.EmailSignInAttachRequest", [
            { no: 1, name: "provider", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "email_address", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 3, name: "pubkey", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 4, name: "preview", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.EmailSignInAttachRequest
 */
export const EmailSignInAttachRequest = new EmailSignInAttachRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class EmailSignInAttachResponse$Type extends MessageType<EmailSignInAttachResponse> {
    constructor() {
        super("auth_svc.EmailSignInAttachResponse", [
            { no: 1, name: "cooldown", kind: "scalar", T: 18 /*ScalarType.SINT64*/, L: 0 /*LongType.BIGINT*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.EmailSignInAttachResponse
 */
export const EmailSignInAttachResponse = new EmailSignInAttachResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class EmailSignInAttachFinalizeRequest$Type extends MessageType<EmailSignInAttachFinalizeRequest> {
    constructor() {
        super("auth_svc.EmailSignInAttachFinalizeRequest", [
            { no: 1, name: "provider", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "org_id", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 3, name: "pubkey", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 4, name: "bundle", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 5, name: "x_stamp", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 6, name: "preview", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.EmailSignInAttachFinalizeRequest
 */
export const EmailSignInAttachFinalizeRequest = new EmailSignInAttachFinalizeRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class EmailSignInAttachFinalizeResponse$Type extends MessageType<EmailSignInAttachFinalizeResponse> {
    constructor() {
        super("auth_svc.EmailSignInAttachFinalizeResponse", [
            { no: 1, name: "expired", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.EmailSignInAttachFinalizeResponse
 */
export const EmailSignInAttachFinalizeResponse = new EmailSignInAttachFinalizeResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class SessionCheckRequest$Type extends MessageType<SessionCheckRequest> {
    constructor() {
        super("auth_svc.SessionCheckRequest", []);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.SessionCheckRequest
 */
export const SessionCheckRequest = new SessionCheckRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class SessionCheckResponse$Type extends MessageType<SessionCheckResponse> {
    constructor() {
        super("auth_svc.SessionCheckResponse", [
            { no: 1, name: "status", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.SessionCheckResponse
 */
export const SessionCheckResponse = new SessionCheckResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ProfileInfoRequest$Type extends MessageType<ProfileInfoRequest> {
    constructor() {
        super("auth_svc.ProfileInfoRequest", []);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.ProfileInfoRequest
 */
export const ProfileInfoRequest = new ProfileInfoRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ProfileInfoResponse$Type extends MessageType<ProfileInfoResponse> {
    constructor() {
        super("auth_svc.ProfileInfoResponse", [
            { no: 1, name: "user_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 3, name: "email", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 4, name: "wallet_address", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 5, name: "contact_phone", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
            { no: 6, name: "avatar", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 7, name: "oauth_google_id", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.ProfileInfoResponse
 */
export const ProfileInfoResponse = new ProfileInfoResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ProfileSetNameRequest$Type extends MessageType<ProfileSetNameRequest> {
    constructor() {
        super("auth_svc.ProfileSetNameRequest", [
            { no: 1, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.ProfileSetNameRequest
 */
export const ProfileSetNameRequest = new ProfileSetNameRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ProfileSetNameResponse$Type extends MessageType<ProfileSetNameResponse> {
    constructor() {
        super("auth_svc.ProfileSetNameResponse", []);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.ProfileSetNameResponse
 */
export const ProfileSetNameResponse = new ProfileSetNameResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ProfileSetContactPhoneRequest$Type extends MessageType<ProfileSetContactPhoneRequest> {
    constructor() {
        super("auth_svc.ProfileSetContactPhoneRequest", [
            { no: 1, name: "contact_phone", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.ProfileSetContactPhoneRequest
 */
export const ProfileSetContactPhoneRequest = new ProfileSetContactPhoneRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ProfileSetContactPhoneResponse$Type extends MessageType<ProfileSetContactPhoneResponse> {
    constructor() {
        super("auth_svc.ProfileSetContactPhoneResponse", []);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.ProfileSetContactPhoneResponse
 */
export const ProfileSetContactPhoneResponse = new ProfileSetContactPhoneResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class OauthGoogleAttachRequest$Type extends MessageType<OauthGoogleAttachRequest> {
    constructor() {
        super("auth_svc.OauthGoogleAttachRequest", []);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.OauthGoogleAttachRequest
 */
export const OauthGoogleAttachRequest = new OauthGoogleAttachRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class OauthGoogleAttachResponse$Type extends MessageType<OauthGoogleAttachResponse> {
    constructor() {
        super("auth_svc.OauthGoogleAttachResponse", [
            { no: 1, name: "redirect_url", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.OauthGoogleAttachResponse
 */
export const OauthGoogleAttachResponse = new OauthGoogleAttachResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class OauthGoogleSignInRequest$Type extends MessageType<OauthGoogleSignInRequest> {
    constructor() {
        super("auth_svc.OauthGoogleSignInRequest", []);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.OauthGoogleSignInRequest
 */
export const OauthGoogleSignInRequest = new OauthGoogleSignInRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class OauthGoogleSignInResponse$Type extends MessageType<OauthGoogleSignInResponse> {
    constructor() {
        super("auth_svc.OauthGoogleSignInResponse", [
            { no: 1, name: "redirect_url", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.OauthGoogleSignInResponse
 */
export const OauthGoogleSignInResponse = new OauthGoogleSignInResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class OauthGoogleCallbackRequest$Type extends MessageType<OauthGoogleCallbackRequest> {
    constructor() {
        super("auth_svc.OauthGoogleCallbackRequest", [
            { no: 1, name: "code", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "state", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.OauthGoogleCallbackRequest
 */
export const OauthGoogleCallbackRequest = new OauthGoogleCallbackRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class OauthGoogleCallbackResponse$Type extends MessageType<OauthGoogleCallbackResponse> {
    constructor() {
        super("auth_svc.OauthGoogleCallbackResponse", [
            { no: 1, name: "jwt", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "expired", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
            { no: 3, name: "user_info", kind: "message", T: () => UserInfo }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.OauthGoogleCallbackResponse
 */
export const OauthGoogleCallbackResponse = new OauthGoogleCallbackResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class UserInfo$Type extends MessageType<UserInfo> {
    constructor() {
        super("auth_svc.UserInfo", [
            { no: 1, name: "id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "email", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 3, name: "name", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.UserInfo
 */
export const UserInfo = new UserInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HealthCheckRequest$Type extends MessageType<HealthCheckRequest> {
    constructor() {
        super("auth_svc.HealthCheckRequest", []);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.HealthCheckRequest
 */
export const HealthCheckRequest = new HealthCheckRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HealthCheckResponse$Type extends MessageType<HealthCheckResponse> {
    constructor() {
        super("auth_svc.HealthCheckResponse", [
            { no: 1, name: "uptime", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "uptime_seconds", kind: "scalar", T: 17 /*ScalarType.SINT32*/ }
        ]);
    }
}
/**
 * @generated MessageType for protobuf message auth_svc.HealthCheckResponse
 */
export const HealthCheckResponse = new HealthCheckResponse$Type();
/**
 * @generated ServiceType for protobuf service auth_svc.AuthSvc
 */
export const AuthSvc = new ServiceType("auth_svc.AuthSvc", [
    { name: "WalletSignInStart", options: {}, I: WalletSignInStartRequest, O: WalletSignInStartResponse },
    { name: "WalletSignInFinalize", options: {}, I: WalletSignInFinalizeRequest, O: WalletSignInFinalizeResponse },
    { name: "EmailSignInStart", options: {}, I: EmailSignInStartRequest, O: EmailSignInStartResponse },
    { name: "EmailSignInFinalize", options: {}, I: EmailSignInFinalizeRequest, O: EmailSignInFinalizeResponse },
    { name: "WalletSignInAttach", options: {}, I: WalletSignInAttachRequest, O: WalletSignInAttachResponse },
    { name: "OauthDetach", options: {}, I: OauthDetachRequest, O: OauthDetachResponse },
    { name: "WalletSignInAttachFinalize", options: {}, I: WalletSignInAttachFinalizeRequest, O: WalletSignInAttachFinalizeResponse },
    { name: "EmailSignInAttach", options: {}, I: EmailSignInAttachRequest, O: EmailSignInAttachResponse },
    { name: "EmailSignInAttachFinalize", options: {}, I: EmailSignInAttachFinalizeRequest, O: EmailSignInAttachFinalizeResponse },
    { name: "SessionCheck", options: {}, I: SessionCheckRequest, O: SessionCheckResponse },
    { name: "ProfileInfo", options: {}, I: ProfileInfoRequest, O: ProfileInfoResponse },
    { name: "ProfileSetName", options: {}, I: ProfileSetNameRequest, O: ProfileSetNameResponse },
    { name: "ProfileSetContactPhone", options: {}, I: ProfileSetContactPhoneRequest, O: ProfileSetContactPhoneResponse },
    { name: "OauthGoogleAttach", options: {}, I: OauthGoogleAttachRequest, O: OauthGoogleAttachResponse },
    { name: "OauthGoogleSignIn", options: {}, I: OauthGoogleSignInRequest, O: OauthGoogleSignInResponse },
    { name: "OauthGoogleCallback", options: {}, I: OauthGoogleCallbackRequest, O: OauthGoogleCallbackResponse },
    { name: "HealthCheck", options: {}, I: HealthCheckRequest, O: HealthCheckResponse }
]);
