// @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/entailment.proto (package arg_services.mining.v1beta, syntax proto3)
/* eslint-disable */

import type { GenEnum, 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/entailment.proto.
 */
export declare const file_arg_services_mining_v1beta_entailment: GenFile;

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

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

  /**
   * @generated from field: repeated arg_services.mining.v1beta.EntailmentQuery query = 3;
   */
  query: EntailmentQuery[];

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

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

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

  /**
   * @generated from field: repeated arg_services.mining.v1beta.EntailmentQuery query = 3;
   */
  query?: EntailmentQueryJson[];

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

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

/**
 * @generated from message arg_services.mining.v1beta.EntailmentsResponse
 */
export declare type EntailmentsResponse = Message<"arg_services.mining.v1beta.EntailmentsResponse"> & {
  /**
   * @generated from field: repeated arg_services.mining.v1beta.Entailment entailments = 1;
   */
  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.v1beta.EntailmentsResponse
 */
export declare type EntailmentsResponseJson = {
  /**
   * @generated from field: repeated arg_services.mining.v1beta.Entailment entailments = 1;
   */
  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.v1beta.EntailmentsResponse.
 * Use `create(EntailmentsResponseSchema)` to create a new message.
 */
export declare const EntailmentsResponseSchema: GenMessage<EntailmentsResponse, {jsonType: EntailmentsResponseJson}>;

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

  /**
   * @generated from field: string claim_id = 2;
   */
  claimId: string;

  /**
   * @generated from field: repeated arg_services.mining.v1beta.EntailmentContext context = 3;
   */
  context: EntailmentContext[];
};

/**
 * @generated from message arg_services.mining.v1beta.EntailmentQuery
 */
export declare type EntailmentQueryJson = {
  /**
   * @generated from field: string premise_id = 1;
   */
  premiseId?: string;

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

  /**
   * @generated from field: repeated arg_services.mining.v1beta.EntailmentContext context = 3;
   */
  context?: EntailmentContextJson[];
};

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

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

  /**
   * @generated from field: float weight = 2;
   */
  weight: number;

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

/**
 * @generated from message arg_services.mining.v1beta.EntailmentContext
 */
export declare type EntailmentContextJson = {
  /**
   * @generated from field: string adu_id = 1;
   */
  aduId?: string;

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

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

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

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

  /**
   * @generated from field: repeated arg_services.mining.v1beta.EntailmentPrediction predictions = 2;
   */
  predictions: EntailmentPrediction[];

  /**
   * @generated from field: string premise_id = 3;
   */
  premiseId: string;

  /**
   * @generated from field: string claim_id = 4;
   */
  claimId: string;
};

/**
 * @generated from message arg_services.mining.v1beta.Entailment
 */
export declare type EntailmentJson = {
  /**
   * @generated from field: arg_services.mining.v1beta.EntailmentType type = 1;
   */
  type?: EntailmentTypeJson;

  /**
   * @generated from field: repeated arg_services.mining.v1beta.EntailmentPrediction predictions = 2;
   */
  predictions?: EntailmentPredictionJson[];

  /**
   * @generated from field: string premise_id = 3;
   */
  premiseId?: string;

  /**
   * @generated from field: string claim_id = 4;
   */
  claimId?: string;
};

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

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

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

/**
 * @generated from message arg_services.mining.v1beta.EntailmentPrediction
 */
export declare type EntailmentPredictionJson = {
  /**
   * @generated from field: double probability = 1;
   */
  probability?: number | "NaN" | "Infinity" | "-Infinity";

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

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

/**
 * @generated from enum arg_services.mining.v1beta.EntailmentContextType
 */
export enum EntailmentContextType {
  /**
   * @generated from enum value: ENTAILMENT_CONTEXT_TYPE_UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * @generated from enum value: ENTAILMENT_CONTEXT_TYPE_PARENT = 1;
   */
  PARENT = 1,

  /**
   * @generated from enum value: ENTAILMENT_CONTEXT_TYPE_CHILD = 2;
   */
  CHILD = 2,

  /**
   * @generated from enum value: ENTAILMENT_CONTEXT_TYPE_SIBLING = 3;
   */
  SIBLING = 3,
}

/**
 * @generated from enum arg_services.mining.v1beta.EntailmentContextType
 */
export declare type EntailmentContextTypeJson = "ENTAILMENT_CONTEXT_TYPE_UNSPECIFIED" | "ENTAILMENT_CONTEXT_TYPE_PARENT" | "ENTAILMENT_CONTEXT_TYPE_CHILD" | "ENTAILMENT_CONTEXT_TYPE_SIBLING";

/**
 * Describes the enum arg_services.mining.v1beta.EntailmentContextType.
 */
export declare const EntailmentContextTypeSchema: GenEnum<EntailmentContextType, EntailmentContextTypeJson>;

/**
 * @generated from enum arg_services.mining.v1beta.EntailmentType
 */
export enum EntailmentType {
  /**
   * @generated from enum value: ENTAILMENT_TYPE_UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * @generated from enum value: ENTAILMENT_TYPE_ENTAILMENT = 1;
   */
  ENTAILMENT = 1,

  /**
   * @generated from enum value: ENTAILMENT_TYPE_CONTRADICTION = 2;
   */
  CONTRADICTION = 2,

  /**
   * @generated from enum value: ENTAILMENT_TYPE_NEUTRAL = 3;
   */
  NEUTRAL = 3,
}

/**
 * @generated from enum arg_services.mining.v1beta.EntailmentType
 */
export declare type EntailmentTypeJson = "ENTAILMENT_TYPE_UNSPECIFIED" | "ENTAILMENT_TYPE_ENTAILMENT" | "ENTAILMENT_TYPE_CONTRADICTION" | "ENTAILMENT_TYPE_NEUTRAL";

/**
 * Describes the enum arg_services.mining.v1beta.EntailmentType.
 */
export declare const EntailmentTypeSchema: GenEnum<EntailmentType, EntailmentTypeJson>;

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

