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

import type { GenEnum, 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/quality/v1beta/qualia.proto.
 */
export declare const file_arg_services_quality_v1beta_qualia: GenFile;

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

  /**
   * @generated from field: repeated arg_services.quality.v1beta.QualiaInputPattern patterns = 2;
   */
  patterns: QualiaInputPattern[];

  /**
   * @generated from field: string language = 3;
   */
  language: string;

  /**
   * @generated from field: repeated string queries = 4;
   */
  queries: string[];

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

/**
 * @generated from message arg_services.quality.v1beta.QualiaAnnotationsRequest
 */
export declare type QualiaAnnotationsRequestJson = {
  /**
   * @generated from field: string text = 1;
   */
  text?: string;

  /**
   * @generated from field: repeated arg_services.quality.v1beta.QualiaInputPattern patterns = 2;
   */
  patterns?: QualiaInputPatternJson[];

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

  /**
   * @generated from field: repeated string queries = 4;
   */
  queries?: string[];

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

/**
 * Describes the message arg_services.quality.v1beta.QualiaAnnotationsRequest.
 * Use `create(QualiaAnnotationsRequestSchema)` to create a new message.
 */
export declare const QualiaAnnotationsRequestSchema: GenMessage<QualiaAnnotationsRequest, {jsonType: QualiaAnnotationsRequestJson}>;

/**
 * @generated from message arg_services.quality.v1beta.QualiaAnnotationsResponse
 */
export declare type QualiaAnnotationsResponse = Message<"arg_services.quality.v1beta.QualiaAnnotationsResponse"> & {
  /**
   * @generated from field: string constituency_tree = 1;
   */
  constituencyTree: string;

  /**
   * @generated from field: repeated arg_services.quality.v1beta.QualiaOutputPattern patterns = 2;
   */
  patterns: QualiaOutputPattern[];

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

/**
 * @generated from message arg_services.quality.v1beta.QualiaAnnotationsResponse
 */
export declare type QualiaAnnotationsResponseJson = {
  /**
   * @generated from field: string constituency_tree = 1;
   */
  constituencyTree?: string;

  /**
   * @generated from field: repeated arg_services.quality.v1beta.QualiaOutputPattern patterns = 2;
   */
  patterns?: QualiaOutputPatternJson[];

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

/**
 * Describes the message arg_services.quality.v1beta.QualiaAnnotationsResponse.
 * Use `create(QualiaAnnotationsResponseSchema)` to create a new message.
 */
export declare const QualiaAnnotationsResponseSchema: GenMessage<QualiaAnnotationsResponse, {jsonType: QualiaAnnotationsResponseJson}>;

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

  /**
   * @generated from field: arg_services.quality.v1beta.QualiaRole role = 2;
   */
  role: QualiaRole;

  /**
   * @generated from field: repeated string allowed_pos_tags = 3;
   */
  allowedPosTags: string[];
};

/**
 * @generated from message arg_services.quality.v1beta.QualiaInputPattern
 */
export declare type QualiaInputPatternJson = {
  /**
   * @generated from field: string pattern = 1;
   */
  pattern?: string;

  /**
   * @generated from field: arg_services.quality.v1beta.QualiaRole role = 2;
   */
  role?: QualiaRoleJson;

  /**
   * @generated from field: repeated string allowed_pos_tags = 3;
   */
  allowedPosTags?: string[];
};

/**
 * Describes the message arg_services.quality.v1beta.QualiaInputPattern.
 * Use `create(QualiaInputPatternSchema)` to create a new message.
 */
export declare const QualiaInputPatternSchema: GenMessage<QualiaInputPattern, {jsonType: QualiaInputPatternJson}>;

/**
 * @generated from message arg_services.quality.v1beta.QualiaOutputPattern
 */
export declare type QualiaOutputPattern = Message<"arg_services.quality.v1beta.QualiaOutputPattern"> & {
  /**
   * @generated from field: string input_pattern_match = 1;
   */
  inputPatternMatch: string;

  /**
   * @generated from field: string query_text = 2;
   */
  queryText: string;

  /**
   * @generated from field: string qualia_text = 3;
   */
  qualiaText: string;

  /**
   * @generated from field: arg_services.quality.v1beta.QualiaRole role = 4;
   */
  role: QualiaRole;
};

/**
 * @generated from message arg_services.quality.v1beta.QualiaOutputPattern
 */
export declare type QualiaOutputPatternJson = {
  /**
   * @generated from field: string input_pattern_match = 1;
   */
  inputPatternMatch?: string;

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

  /**
   * @generated from field: string qualia_text = 3;
   */
  qualiaText?: string;

  /**
   * @generated from field: arg_services.quality.v1beta.QualiaRole role = 4;
   */
  role?: QualiaRoleJson;
};

/**
 * Describes the message arg_services.quality.v1beta.QualiaOutputPattern.
 * Use `create(QualiaOutputPatternSchema)` to create a new message.
 */
export declare const QualiaOutputPatternSchema: GenMessage<QualiaOutputPattern, {jsonType: QualiaOutputPatternJson}>;

/**
 * @generated from enum arg_services.quality.v1beta.QualiaRole
 */
export enum QualiaRole {
  /**
   * @generated from enum value: QUALIA_ROLE_UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * @generated from enum value: QUALIA_ROLE_FORMAL = 1;
   */
  FORMAL = 1,

  /**
   * @generated from enum value: QUALIA_ROLE_CONSITIUTIVE = 2;
   */
  CONSITIUTIVE = 2,

  /**
   * @generated from enum value: QUALIA_ROLE_TELIC = 3;
   */
  TELIC = 3,

  /**
   * @generated from enum value: QUALIA_ROLE_AGENTIVE = 4;
   */
  AGENTIVE = 4,
}

/**
 * @generated from enum arg_services.quality.v1beta.QualiaRole
 */
export declare type QualiaRoleJson = "QUALIA_ROLE_UNSPECIFIED" | "QUALIA_ROLE_FORMAL" | "QUALIA_ROLE_CONSITIUTIVE" | "QUALIA_ROLE_TELIC" | "QUALIA_ROLE_AGENTIVE";

/**
 * Describes the enum arg_services.quality.v1beta.QualiaRole.
 */
export declare const QualiaRoleSchema: GenEnum<QualiaRole, QualiaRoleJson>;

/**
 * @generated from service arg_services.quality.v1beta.QualiaService
 */
export declare const QualiaService: GenService<{
  /**
   * @generated from rpc arg_services.quality.v1beta.QualiaService.QualiaAnnotations
   */
  qualiaAnnotations: {
    methodKind: "unary";
    input: typeof QualiaAnnotationsRequestSchema;
    output: typeof QualiaAnnotationsResponseSchema;
  },
}>;

