// package: bet.beteran.c2se.frontend.identity
// file: c2se/frontend/identity.proto

import * as jspb from 'google-protobuf';
import * as protobuf_rpc_error_pb from '../../protobuf/rpc/error_pb';

export const SUBJECT_CHECK_USERNAME_FOR_DUPLICATION: string;

export const SUBJECT_CHECK_NICKNAME_FOR_DUPLICATION: string;

export const SUBJECT_CAPTCHA: string;

export const SUBJECT_SIGNIN: string;

export class SigninRequest extends jspb.Message {
  getSecurityCodeHash(): string;
  setSecurityCodeHash(value: string): void;

  getSecurityCode(): string;
  setSecurityCode(value: string): void;

  getUsername(): string;
  setUsername(value: string): void;

  getPassword(): string;
  setPassword(value: string): void;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): SigninRequest.AsObject;
  static toObject(
    includeInstance: boolean,
    msg: SigninRequest
  ): SigninRequest.AsObject;
  static extensions: { [key: number]: jspb.ExtensionFieldInfo<jspb.Message> };
  static extensionsBinary: {
    [key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>;
  };
  static serializeBinaryToWriter(
    message: SigninRequest,
    writer: jspb.BinaryWriter
  ): void;
  static deserializeBinary(bytes: Uint8Array): SigninRequest;
  static deserializeBinaryFromReader(
    message: SigninRequest,
    reader: jspb.BinaryReader
  ): SigninRequest;
}

export namespace SigninRequest {
  export type AsObject = {
    securityCodeHash: string;
    securityCode: string;
    username: string;
    password: string;
  };
}

export class SigninResponse extends jspb.Message {
  hasError(): boolean;
  clearError(): void;
  getError(): protobuf_rpc_error_pb.Error | undefined;
  setError(value?: protobuf_rpc_error_pb.Error): void;

  hasResult(): boolean;
  clearResult(): void;
  getResult(): SigninResponse.Result | undefined;
  setResult(value?: SigninResponse.Result): void;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): SigninResponse.AsObject;
  static toObject(
    includeInstance: boolean,
    msg: SigninResponse
  ): SigninResponse.AsObject;
  static extensions: { [key: number]: jspb.ExtensionFieldInfo<jspb.Message> };
  static extensionsBinary: {
    [key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>;
  };
  static serializeBinaryToWriter(
    message: SigninResponse,
    writer: jspb.BinaryWriter
  ): void;
  static deserializeBinary(bytes: Uint8Array): SigninResponse;
  static deserializeBinaryFromReader(
    message: SigninResponse,
    reader: jspb.BinaryReader
  ): SigninResponse;
}

export namespace SigninResponse {
  export type AsObject = {
    error?: protobuf_rpc_error_pb.Error.AsObject;
    result?: SigninResponse.Result.AsObject;
  };

  export class Result extends jspb.Message {
    getAccessToken(): string;
    setAccessToken(value: string): void;

    serializeBinary(): Uint8Array;
    toObject(includeInstance?: boolean): Result.AsObject;
    static toObject(includeInstance: boolean, msg: Result): Result.AsObject;
    static extensions: { [key: number]: jspb.ExtensionFieldInfo<jspb.Message> };
    static extensionsBinary: {
      [key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>;
    };
    static serializeBinaryToWriter(
      message: Result,
      writer: jspb.BinaryWriter
    ): void;
    static deserializeBinary(bytes: Uint8Array): Result;
    static deserializeBinaryFromReader(
      message: Result,
      reader: jspb.BinaryReader
    ): Result;
  }

  export namespace Result {
    export type AsObject = {
      accessToken: string;
    };
  }
}
