// package: bet.protobuf.rpc
// file: protobuf/rpc/error.proto

import * as jspb from 'google-protobuf';

export class Error extends jspb.Message {
  static readonly PARSE: number;
  static readonly INVALID_REQUEST: number;
  static readonly INVALID_PARAMS: number;
  static readonly INTERNAL: number;
  static readonly SERVER_00: number;
  static readonly SERVER_01: number;
  static readonly SERVER_02: number;
  static readonly SERVER_03: number;
  static readonly SERVER_04: number;
  static readonly SERVER_05: number;
  static readonly SERVER_06: number;
  static readonly SERVER_07: number;
  static readonly SERVER_08: number;
  static readonly SERVER_09: number;
  static readonly SERVER_10: number;
  static readonly SERVER_11: number;
  static readonly SERVER_12: number;
  static readonly SERVER_13: number;
  static readonly SERVER_14: number;
  static readonly SERVER_15: number;
  static readonly SERVER_16: number;
  static readonly SERVER_17: number;
  static readonly SERVER_18: number;
  static readonly SERVER_19: number;
  static readonly SERVER_20: number;
  static readonly SERVER_21: number;
  static readonly SERVER_22: number;
  static readonly SERVER_23: number;
  static readonly SERVER_24: number;
  static readonly SERVER_25: number;
  static readonly SERVER_26: number;
  static readonly SERVER_27: number;
  static readonly SERVER_28: number;
  static readonly SERVER_29: number;
  static readonly SERVER_30: number;
  static readonly SERVER_31: number;
  static readonly SERVER_32: number;
  static readonly SERVER_33: number;
  static readonly SERVER_34: number;
  static readonly SERVER_35: number;
  static readonly SERVER_36: number;
  static readonly SERVER_37: number;
  static readonly SERVER_38: number;
  static readonly SERVER_39: number;
  static readonly SERVER_40: number;
  static readonly SERVER_41: number;
  static readonly SERVER_42: number;
  static readonly SERVER_43: number;
  static readonly SERVER_44: number;
  static readonly SERVER_45: number;
  static readonly SERVER_46: number;
  static readonly SERVER_47: number;
  static readonly SERVER_48: number;
  static readonly SERVER_49: number;
  static readonly SERVER_50: number;
  static readonly SERVER_51: number;
  static readonly SERVER_52: number;
  static readonly SERVER_53: number;
  static readonly SERVER_54: number;
  static readonly SERVER_55: number;
  static readonly SERVER_56: number;
  static readonly SERVER_57: number;
  static readonly SERVER_58: number;
  static readonly SERVER_59: number;
  static readonly SERVER_60: number;
  static readonly SERVER_61: number;
  static readonly SERVER_62: number;
  static readonly SERVER_63: number;
  static readonly SERVER_64: number;
  static readonly SERVER_65: number;
  static readonly SERVER_66: number;
  static readonly SERVER_67: number;
  static readonly SERVER_68: number;
  static readonly SERVER_69: number;
  static readonly SERVER_70: number;
  static readonly SERVER_71: number;
  static readonly SERVER_72: number;
  static readonly SERVER_73: number;
  static readonly SERVER_74: number;
  static readonly SERVER_75: number;
  static readonly SERVER_76: number;
  static readonly SERVER_77: number;
  static readonly SERVER_78: number;
  static readonly SERVER_79: number;
  static readonly SERVER_80: number;
  static readonly SERVER_81: number;
  static readonly SERVER_82: number;
  static readonly SERVER_83: number;
  static readonly SERVER_84: number;
  static readonly SERVER_85: number;
  static readonly SERVER_86: number;
  static readonly SERVER_87: number;
  static readonly SERVER_88: number;
  static readonly SERVER_89: number;
  static readonly SERVER_90: number;
  static readonly SERVER_91: number;
  static readonly SERVER_92: number;
  static readonly SERVER_93: number;
  static readonly SERVER_94: number;
  static readonly SERVER_95: number;
  static readonly SERVER_96: number;
  static readonly SERVER_97: number;
  static readonly SERVER_98: number;
  static readonly SERVER_99: number;

  getCode(): number;
  setCode(value: number): void;

  getMessage(): string;
  setMessage(value: string): void;

  hasData(): boolean;
  clearData(): void;
  getData(): Uint8Array | string;
  getData_asU8(): Uint8Array;
  getData_asB64(): string;
  setData(value: Uint8Array | string): void;

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

export namespace Error {
  export type AsObject = {
    code: number;
    message: string;
    data: Uint8Array | string;
  };
}

export class InvalidParamsDetail extends jspb.Message {
  getLocation(): string;
  setLocation(value: string): void;

  getParam(): string;
  setParam(value: string): void;

  getValue(): string;
  setValue(value: string): void;

  getErrorType(): InvalidParamsTypeMap[keyof InvalidParamsTypeMap];
  setErrorType(value: InvalidParamsTypeMap[keyof InvalidParamsTypeMap]): void;

  getMessage(): string;
  setMessage(value: string): void;

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

export namespace InvalidParamsDetail {
  export type AsObject = {
    location: string;
    param: string;
    value: string;
    errorType: InvalidParamsTypeMap[keyof InvalidParamsTypeMap];
    message: string;
  };
}

export interface InvalidParamsTypeMap {
  NONE: 0;
  DATE_TIME: 1;
  DECIMAL: 2;
  EQUALS_TO: 3;
  FLOAT: 4;
  INTEGER: 5;
  RANGE: 6;
  REG_EX: 7;
  REQUIRED: 8;
  STRING_LENGTH: 9;
  URL: 10;
}

export const InvalidParamsType: InvalidParamsTypeMap;
