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

import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import type { JsonObject, Message } from "@bufbuild/protobuf";
import type { AnnotatedGraph, AnnotatedGraphJson, CasebaseFilter, CasebaseFilterJson } from "./model_pb.js";
import type { StructJson } from "@bufbuild/protobuf/wkt";

/**
 * Describes the file arg_services/cbr/v1beta/casebase.proto.
 */
export declare const file_arg_services_cbr_v1beta_casebase: GenFile;

/**
 * @generated from message arg_services.cbr.v1beta.CasebaseRequest
 */
export declare type CasebaseRequest = Message<"arg_services.cbr.v1beta.CasebaseRequest"> & {
  /**
   * @generated from field: arg_services.cbr.v1beta.CasebaseFilter include = 1;
   */
  include?: CasebaseFilter;

  /**
   * @generated from field: arg_services.cbr.v1beta.CasebaseFilter exclude = 2;
   */
  exclude?: CasebaseFilter;

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

/**
 * @generated from message arg_services.cbr.v1beta.CasebaseRequest
 */
export declare type CasebaseRequestJson = {
  /**
   * @generated from field: arg_services.cbr.v1beta.CasebaseFilter include = 1;
   */
  include?: CasebaseFilterJson;

  /**
   * @generated from field: arg_services.cbr.v1beta.CasebaseFilter exclude = 2;
   */
  exclude?: CasebaseFilterJson;

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

/**
 * Describes the message arg_services.cbr.v1beta.CasebaseRequest.
 * Use `create(CasebaseRequestSchema)` to create a new message.
 */
export declare const CasebaseRequestSchema: GenMessage<CasebaseRequest, {jsonType: CasebaseRequestJson}>;

/**
 * @generated from message arg_services.cbr.v1beta.CasebaseResponse
 */
export declare type CasebaseResponse = Message<"arg_services.cbr.v1beta.CasebaseResponse"> & {
  /**
   * @generated from field: map<string, arg_services.cbr.v1beta.AnnotatedGraph> cases = 1;
   */
  cases: { [key: string]: AnnotatedGraph };
};

/**
 * @generated from message arg_services.cbr.v1beta.CasebaseResponse
 */
export declare type CasebaseResponseJson = {
  /**
   * @generated from field: map<string, arg_services.cbr.v1beta.AnnotatedGraph> cases = 1;
   */
  cases?: { [key: string]: AnnotatedGraphJson };
};

/**
 * Describes the message arg_services.cbr.v1beta.CasebaseResponse.
 * Use `create(CasebaseResponseSchema)` to create a new message.
 */
export declare const CasebaseResponseSchema: GenMessage<CasebaseResponse, {jsonType: CasebaseResponseJson}>;

/**
 * @generated from service arg_services.cbr.v1beta.CasebaseService
 */
export declare const CasebaseService: GenService<{
  /**
   * @generated from rpc arg_services.cbr.v1beta.CasebaseService.Casebase
   */
  casebase: {
    methodKind: "unary";
    input: typeof CasebaseRequestSchema;
    output: typeof CasebaseResponseSchema;
  },
}>;

