// @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_explanation/v1beta/entailment.proto (package arg_services.mining_explanation.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";
import type { EntailmentType, EntailmentTypeJson } from "../../mining/v1beta/entailment_pb.js";

/**
 * Describes the file arg_services/mining_explanation/v1beta/entailment.proto.
 */
export declare const file_arg_services_mining_explanation_v1beta_entailment: GenFile;

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

  /**
   * @generated from field: repeated arg_services.mining_explanation.v1beta.Entailment entailments = 2;
   */
  entailments: Entailment[];

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

/**
 * @generated from message arg_services.mining_explanation.v1beta.EntailmentsRequest
 */
export declare type EntailmentsRequestJson = {
  /**
   * @generated from field: string language = 1;
   */
  language?: string;

  /**
   * @generated from field: repeated arg_services.mining_explanation.v1beta.Entailment entailments = 2;
   */
  entailments?: EntailmentJson[];

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

/**
 * Describes the message arg_services.mining_explanation.v1beta.EntailmentsRequest.
 * Use `create(EntailmentsRequestSchema)` to create a new message.
 */
export declare const EntailmentsRequestSchema: GenMessage<EntailmentsRequest, {jsonType: EntailmentsRequestJson}>;

/**
 * @generated from message arg_services.mining_explanation.v1beta.EntailmentsResponse
 */
export declare type EntailmentsResponse = Message<"arg_services.mining_explanation.v1beta.EntailmentsResponse"> & {
  /**
   * @generated from field: repeated arg_services.mining_explanation.v1beta.EntailmentResult results = 1;
   */
  results: EntailmentResult[];

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

/**
 * @generated from message arg_services.mining_explanation.v1beta.EntailmentsResponse
 */
export declare type EntailmentsResponseJson = {
  /**
   * @generated from field: repeated arg_services.mining_explanation.v1beta.EntailmentResult results = 1;
   */
  results?: EntailmentResultJson[];

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

/**
 * Describes the message arg_services.mining_explanation.v1beta.EntailmentsResponse.
 * Use `create(EntailmentsResponseSchema)` to create a new message.
 */
export declare const EntailmentsResponseSchema: GenMessage<EntailmentsResponse, {jsonType: EntailmentsResponseJson}>;

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

  /**
   * @generated from field: string claim = 2;
   */
  claim: string;

  /**
   * @generated from field: arg_services.mining.v1beta.EntailmentType type = 3;
   */
  type: EntailmentType;
};

/**
 * @generated from message arg_services.mining_explanation.v1beta.Entailment
 */
export declare type EntailmentJson = {
  /**
   * @generated from field: string premise = 1;
   */
  premise?: string;

  /**
   * @generated from field: string claim = 2;
   */
  claim?: string;

  /**
   * @generated from field: arg_services.mining.v1beta.EntailmentType type = 3;
   */
  type?: EntailmentTypeJson;
};

/**
 * Describes the message arg_services.mining_explanation.v1beta.Entailment.
 * Use `create(EntailmentSchema)` to create a new message.
 */
export declare const EntailmentSchema: GenMessage<Entailment, {jsonType: EntailmentJson}>;

/**
 * @generated from message arg_services.mining_explanation.v1beta.EntailmentResult
 */
export declare type EntailmentResult = Message<"arg_services.mining_explanation.v1beta.EntailmentResult"> & {
  /**
   * @generated from field: map<string, double> similarities = 1;
   */
  similarities: { [key: string]: number };

  /**
   * @generated from field: repeated bool keywords_premise = 2;
   */
  keywordsPremise: boolean[];

  /**
   * SurrogateClassification surrogates = 4;
   *
   * @generated from field: repeated bool keywords_claim = 3;
   */
  keywordsClaim: boolean[];
};

/**
 * @generated from message arg_services.mining_explanation.v1beta.EntailmentResult
 */
export declare type EntailmentResultJson = {
  /**
   * @generated from field: map<string, double> similarities = 1;
   */
  similarities?: { [key: string]: number | "NaN" | "Infinity" | "-Infinity" };

  /**
   * @generated from field: repeated bool keywords_premise = 2;
   */
  keywordsPremise?: boolean[];

  /**
   * SurrogateClassification surrogates = 4;
   *
   * @generated from field: repeated bool keywords_claim = 3;
   */
  keywordsClaim?: boolean[];
};

/**
 * Describes the message arg_services.mining_explanation.v1beta.EntailmentResult.
 * Use `create(EntailmentResultSchema)` to create a new message.
 */
export declare const EntailmentResultSchema: GenMessage<EntailmentResult, {jsonType: EntailmentResultJson}>;

/**
 * @generated from service arg_services.mining_explanation.v1beta.EntailmentExplanationService
 */
export declare const EntailmentExplanationService: GenService<{
  /**
   * @generated from rpc arg_services.mining_explanation.v1beta.EntailmentExplanationService.Entailments
   */
  entailments: {
    methodKind: "unary";
    input: typeof EntailmentsRequestSchema;
    output: typeof EntailmentsResponseSchema;
  },
}>;

