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

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

/**
 * Describes the file arg_services/ranking/v1beta/granularity.proto.
 */
export declare const file_arg_services_ranking_v1beta_granularity: GenFile;

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

  /**
   * @generated from field: repeated string adus = 2;
   */
  adus: string[];

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

/**
 * @generated from message arg_services.ranking.v1beta.FineGranularClusteringRequest
 */
export declare type FineGranularClusteringRequestJson = {
  /**
   * @generated from field: string query = 1;
   */
  query?: string;

  /**
   * @generated from field: repeated string adus = 2;
   */
  adus?: string[];

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

/**
 * Describes the message arg_services.ranking.v1beta.FineGranularClusteringRequest.
 * Use `create(FineGranularClusteringRequestSchema)` to create a new message.
 */
export declare const FineGranularClusteringRequestSchema: GenMessage<FineGranularClusteringRequest, {jsonType: FineGranularClusteringRequestJson}>;

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

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

/**
 * @generated from message arg_services.ranking.v1beta.FineGranularClusteringResponse
 */
export declare type FineGranularClusteringResponseJson = {
  /**
   * @generated from field: repeated arg_services.ranking.v1beta.GranularityPrediction predictions = 1;
   */
  predictions?: GranularityPredictionJson[];

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

/**
 * Describes the message arg_services.ranking.v1beta.FineGranularClusteringResponse.
 * Use `create(FineGranularClusteringResponseSchema)` to create a new message.
 */
export declare const FineGranularClusteringResponseSchema: GenMessage<FineGranularClusteringResponse, {jsonType: FineGranularClusteringResponseJson}>;

/**
 * @generated from message arg_services.ranking.v1beta.GranularityPrediction
 */
export declare type GranularityPrediction = Message<"arg_services.ranking.v1beta.GranularityPrediction"> & {
  /**
   * @generated from field: double stance = 1;
   */
  stance: number;

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

  /**
   * @generated from field: double meaning = 3;
   */
  meaning: number;

  /**
   * @generated from field: double hierarchic = 4;
   */
  hierarchic: number;
};

/**
 * @generated from message arg_services.ranking.v1beta.GranularityPrediction
 */
export declare type GranularityPredictionJson = {
  /**
   * @generated from field: double stance = 1;
   */
  stance?: number | "NaN" | "Infinity" | "-Infinity";

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

  /**
   * @generated from field: double meaning = 3;
   */
  meaning?: number | "NaN" | "Infinity" | "-Infinity";

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

/**
 * Describes the message arg_services.ranking.v1beta.GranularityPrediction.
 * Use `create(GranularityPredictionSchema)` to create a new message.
 */
export declare const GranularityPredictionSchema: GenMessage<GranularityPrediction, {jsonType: GranularityPredictionJson}>;

/**
 * @generated from service arg_services.ranking.v1beta.GranularityService
 */
export declare const GranularityService: GenService<{
  /**
   * @generated from rpc arg_services.ranking.v1beta.GranularityService.FineGranularClustering
   */
  fineGranularClustering: {
    methodKind: "unary";
    input: typeof FineGranularClusteringRequestSchema;
    output: typeof FineGranularClusteringResponseSchema;
  },
}>;

