import type { APIProductAccessLevel } from './APIProductAccessLevel'; import type { attributes } from './attributes'; import type { ClientOptions } from './ClientOptions'; import type { CommonDescription } from './CommonDescription'; import type { CommonDisplayName } from './CommonDisplayName'; import type { CommonName } from './CommonName'; import type { CommonTopic } from './CommonTopic'; import type { Meta } from './Meta'; import type { Protocol } from './Protocol'; /** * An API product consists of a list of API resources (URIs) and custom metadata required by the API provider. API products enable you to bundle and distribute your APIs to multiple developer groups simultaneously */ export declare type APIProduct = { /** * APIs associated with this product. */ apis: Array; /** * manual or auto. If manual, credetials will only be activated on manual approval */ approvalType?: APIProduct.approvalType; attributes: attributes; description?: CommonDescription; displayName: CommonDisplayName; /** * An array of environment names in an organization. Requests to environments not listed are rejected. */ environments: Array; name: CommonName; /** * An array of Publish API resources to be bundled in the API Product. */ pubResources: Array; /** * An array of Subscribe API resources to be bundled in the API Product. */ subResources: Array; protocols: Array; clientOptions?: ClientOptions; accessLevel?: APIProductAccessLevel; meta?: Meta; }; export declare namespace APIProduct { /** * manual or auto. If manual, credetials will only be activated on manual approval */ enum approvalType { MANUAL = "manual", AUTO = "auto" } }