// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
//   protoc-gen-ts_proto  v2.6.1
//   protoc               v3.17.1
// source: package/Product.proto

/* eslint-disable */
import { type Metadata } from "../common/Metadata.js";
import { type Ref } from "../common/Ref.js";

/** Copyright Super iPaaS Integration LLC, an IBM Company 2024 */

export interface Product {
  kind?: string | undefined;
  metadata?: Metadata | undefined;
  spec?: Product_Spec | undefined;
  kindEnum?: Product_KindEnums | undefined;
  apiVersion?: string | undefined;
}

export enum Product_KindEnums {
  Product = "Product",
}

export interface Product_Spec {
  apis?: Ref[] | undefined;
  plans?: Ref[] | undefined;
  info?: Product_Info | undefined;
  "x-portal-config"?: Product_XPortalConfig | undefined;
}

export interface Product_Visibility {
  view?: Product_View | undefined;
  subscribe?: Product_Subscribe | undefined;
}

export interface Product_XPortalConfig {
  visibility?: Product_Visibility | undefined;
}

export interface Product_View {
  type?: string | undefined;
  orgs?: string[] | undefined;
  enabled?: boolean | undefined;
  tags?: string[] | undefined;
}

export interface Product_Subscribe {
  type?: string | undefined;
  orgs?: string[] | undefined;
  enabled?: boolean | undefined;
  tags?: string[] | undefined;
}

export interface Product_Contact {
  name?: string | undefined;
  email?: string | undefined;
  url?: string | undefined;
}

export interface Product_License {
  name?: string | undefined;
  url?: string | undefined;
}

export interface Product_Info {
  contact?: Product_Contact | undefined;
  license?: Product_License | undefined;
  termsOfService?: string | undefined;
  summary?: string | undefined;
  categories?: string[] | undefined;
}
