// @generated by protoc-gen-es v2.5.0 with parameter "target=js+dts,import_extension=js,json_types=true"
// @generated from file arg_services/mining/v1beta/major_claim.proto (package arg_services.mining.v1beta, syntax proto3)
/* eslint-disable */

import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import type { JsonObject, Message } from "@bufbuild/protobuf";
import type { Segment, SegmentJson } from "./adu_pb.js";
import type { StructJson } from "@bufbuild/protobuf/wkt";

/**
 * Describes the file arg_services/mining/v1beta/major_claim.proto.
 */
export declare const file_arg_services_mining_v1beta_major_claim: GenFile;

/**
 * @generated from message arg_services.mining.v1beta.MajorClaimRequest
 */
export declare type MajorClaimRequest = Message<"arg_services.mining.v1beta.MajorClaimRequest"> & {
  /**
   * @generated from field: string language = 1;
   */
  language: string;

  /**
   * @generated from field: map<string, arg_services.mining.v1beta.Segment> segments = 2;
   */
  segments: { [key: string]: Segment };

  /**
   * @generated from field: uint64 limit = 4;
   */
  limit: bigint;

  /**
   * Implementation-specific information can be encoded here
   *
   * @generated from field: google.protobuf.Struct extras = 15;
   */
  extras?: JsonObject;
};

/**
 * @generated from message arg_services.mining.v1beta.MajorClaimRequest
 */
export declare type MajorClaimRequestJson = {
  /**
   * @generated from field: string language = 1;
   */
  language?: string;

  /**
   * @generated from field: map<string, arg_services.mining.v1beta.Segment> segments = 2;
   */
  segments?: { [key: string]: SegmentJson };

  /**
   * @generated from field: uint64 limit = 4;
   */
  limit?: string;

  /**
   * Implementation-specific information can be encoded here
   *
   * @generated from field: google.protobuf.Struct extras = 15;
   */
  extras?: StructJson;
};

/**
 * Describes the message arg_services.mining.v1beta.MajorClaimRequest.
 * Use `create(MajorClaimRequestSchema)` to create a new message.
 */
export declare const MajorClaimRequestSchema: GenMessage<MajorClaimRequest, {jsonType: MajorClaimRequestJson}>;

/**
 * @generated from message arg_services.mining.v1beta.MajorClaimResponse
 */
export declare type MajorClaimResponse = Message<"arg_services.mining.v1beta.MajorClaimResponse"> & {
  /**
   * @generated from field: repeated arg_services.mining.v1beta.MajorClaimResult ranking = 1;
   */
  ranking: MajorClaimResult[];

  /**
   * Implementation-specific information can be encoded here
   *
   * @generated from field: google.protobuf.Struct extras = 15;
   */
  extras?: JsonObject;
};

/**
 * @generated from message arg_services.mining.v1beta.MajorClaimResponse
 */
export declare type MajorClaimResponseJson = {
  /**
   * @generated from field: repeated arg_services.mining.v1beta.MajorClaimResult ranking = 1;
   */
  ranking?: MajorClaimResultJson[];

  /**
   * Implementation-specific information can be encoded here
   *
   * @generated from field: google.protobuf.Struct extras = 15;
   */
  extras?: StructJson;
};

/**
 * Describes the message arg_services.mining.v1beta.MajorClaimResponse.
 * Use `create(MajorClaimResponseSchema)` to create a new message.
 */
export declare const MajorClaimResponseSchema: GenMessage<MajorClaimResponse, {jsonType: MajorClaimResponseJson}>;

/**
 * @generated from message arg_services.mining.v1beta.MajorClaimResult
 */
export declare type MajorClaimResult = Message<"arg_services.mining.v1beta.MajorClaimResult"> & {
  /**
   * @generated from field: string id = 1;
   */
  id: string;

  /**
   * @generated from field: double probability = 2;
   */
  probability: number;
};

/**
 * @generated from message arg_services.mining.v1beta.MajorClaimResult
 */
export declare type MajorClaimResultJson = {
  /**
   * @generated from field: string id = 1;
   */
  id?: string;

  /**
   * @generated from field: double probability = 2;
   */
  probability?: number | "NaN" | "Infinity" | "-Infinity";
};

/**
 * Describes the message arg_services.mining.v1beta.MajorClaimResult.
 * Use `create(MajorClaimResultSchema)` to create a new message.
 */
export declare const MajorClaimResultSchema: GenMessage<MajorClaimResult, {jsonType: MajorClaimResultJson}>;

/**
 * @generated from service arg_services.mining.v1beta.MajorClaimService
 */
export declare const MajorClaimService: GenService<{
  /**
   * @generated from rpc arg_services.mining.v1beta.MajorClaimService.MajorClaim
   */
  majorClaim: {
    methodKind: "unary";
    input: typeof MajorClaimRequestSchema;
    output: typeof MajorClaimResponseSchema;
  },
}>;

