/** * (C) Copyright IBM Corp. 2025, 2026. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { IncomingHttpHeaders, OutgoingHttpHeaders } from 'http'; import { BaseService, UserOptions } from 'ibm-cloud-sdk-core'; declare class CdToolchainV2 extends BaseService { static DEFAULT_SERVICE_URL: string; static DEFAULT_SERVICE_NAME: string; private static _regionalEndpoints; /** * Returns the service URL associated with the specified region. * @param region a string representing the region * @returns the service URL associated with the specified region or undefined * if no mapping for the region exists */ static getServiceUrlForRegion(region: string): string; /************************* * Factory method ************************/ /** * Constructs an instance of CdToolchainV2 with passed in options and external configuration. * * @param {UserOptions} [options] - The parameters to send to the service. * @param {string} [options.serviceName] - The name of the service to configure * @param {Authenticator} [options.authenticator] - The Authenticator object used to authenticate requests to the service * @param {string} [options.serviceUrl] - The base URL for the service * @returns {CdToolchainV2} */ static newInstance(options: UserOptions): CdToolchainV2; /** * Construct a CdToolchainV2 object. * * @param {Object} options - Options for the service. * @param {string} [options.serviceUrl] - The base URL for the service * @param {OutgoingHttpHeaders} [options.headers] - Default headers that shall be included with every request to the service. * @param {Authenticator} options.authenticator - The Authenticator object used to authenticate requests to the service * @constructor * @returns {CdToolchainV2} */ constructor(options: UserOptions); /************************* * toolchains ************************/ /** * Get a list of toolchains. * * Returns a list of toolchains that the caller is authorized to access and that meets the provided query parameters. * * @param {Object} params - The parameters to send to the service. * @param {string} params.resourceGroupId - The resource group ID where the toolchains exist. * @param {number} [params.limit] - Limit the number of results. * @param {string} [params.start] - Pagination token. * @param {string} [params.name] - Exact name of toolchain to look up. This parameter is case sensitive. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise>} */ listToolchains(params: CdToolchainV2.ListToolchainsParams): Promise>; /** * Create a toolchain. * * Creates a new toolchain based off the provided parameters in the body. * * @param {Object} params - The parameters to send to the service. * @param {string} params.name - Toolchain name. * @param {string} params.resourceGroupId - Resource group where toolchain will be created. * @param {string} [params.description] - Describes the toolchain. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise>} */ createToolchain(params: CdToolchainV2.CreateToolchainParams): Promise>; /** * Get a toolchain. * * Returns data for a single toolchain identified by its ID. * * @param {Object} params - The parameters to send to the service. * @param {string} params.toolchainId - ID of the toolchain. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise>} */ getToolchainById(params: CdToolchainV2.GetToolchainByIdParams): Promise>; /** * Delete a toolchain. * * Delete the toolchain with the specified ID. * * @param {Object} params - The parameters to send to the service. * @param {string} params.toolchainId - ID of the toolchain. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise>} */ deleteToolchain(params: CdToolchainV2.DeleteToolchainParams): Promise>; /** * Update a toolchain. * * Update the toolchain with the specified ID. * * @param {Object} params - The parameters to send to the service. * @param {string} params.toolchainId - ID of the toolchain. * @param {string} [params.name] - The name of the toolchain. * @param {string} [params.description] - An optional description. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise>} */ updateToolchain(params: CdToolchainV2.UpdateToolchainParams): Promise>; /** * Create a toolchain event. * * Creates and sends a custom event to each Event Notifications instance configured as a tool into the toolchain. This * operation will fail if no Event Notifications instances are configured into the toolchain. * * @param {Object} params - The parameters to send to the service. * @param {string} params.toolchainId - ID of the toolchain to send events from. * @param {string} params.title - Event title. * @param {string} params.description - Describes the event. * @param {string} params.contentType - The content type of the attached data. Supported values are `text/plain`, * `application/json`, and `none`. * @param {ToolchainEventPrototypeData} [params.data] - Additional data to be added with the event. The format must * correspond to the value of `content_type`. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise>} */ createToolchainEvent(params: CdToolchainV2.CreateToolchainEventParams): Promise>; /************************* * tools ************************/ /** * Get a list of tools bound to a toolchain. * * Returns a list of tools bound to a toolchain that the caller is authorized to access and that meet the provided * query parameters. * * @param {Object} params - The parameters to send to the service. * @param {string} params.toolchainId - ID of the toolchain that tools are bound to. * @param {number} [params.limit] - Limit the number of results. * @param {string} [params.start] - Pagination token. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise>} */ listTools(params: CdToolchainV2.ListToolsParams): Promise>; /** * Create a tool. * * Provisions a new tool based off the provided parameters in the body and binds it to the specified toolchain. * * @param {Object} params - The parameters to send to the service. * @param {string} params.toolchainId - ID of the toolchain to bind the tool to. * @param {string} params.toolTypeId - The unique short name of the tool that should be provisioned. A table of * `tool_type_id` values corresponding to each tool integration can be found in the Configuring tool * integrations page. * @param {string} [params.name] - Name of the tool. * @param {JsonObject} [params.parameters] - Unique key-value pairs representing parameters to be used to create the * tool. A list of parameters for each tool integration can be found in the Configuring tool * integrations page. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise>} */ createTool(params: CdToolchainV2.CreateToolParams): Promise>; /** * Get a tool. * * Returns a tool that is bound to the provided toolchain. * * @param {Object} params - The parameters to send to the service. * @param {string} params.toolchainId - ID of the toolchain. * @param {string} params.toolId - ID of the tool bound to the toolchain. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise>} */ getToolById(params: CdToolchainV2.GetToolByIdParams): Promise>; /** * Delete a tool. * * Delete the tool with the specified ID. * * @param {Object} params - The parameters to send to the service. * @param {string} params.toolchainId - ID of the toolchain. * @param {string} params.toolId - ID of the tool bound to the toolchain. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise>} */ deleteTool(params: CdToolchainV2.DeleteToolParams): Promise>; /** * Update a tool. * * Update the tool with the specified ID. * * @param {Object} params - The parameters to send to the service. * @param {string} params.toolchainId - ID of the toolchain. * @param {string} params.toolId - ID of the tool bound to the toolchain. * @param {string} [params.name] - Name of the tool. * @param {string} [params.toolTypeId] - The unique short name of the tool that should be provisioned or updated. A * table of `tool_type_id` values corresponding to each tool integration can be found in the Configuring tool * integrations page. * @param {JsonObject} [params.parameters] - Unique key-value pairs representing parameters to be used to create the * tool. A list of parameters for each tool integration can be found in the Configuring tool * integrations page. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise>} */ updateTool(params: CdToolchainV2.UpdateToolParams): Promise>; } /************************* * interfaces ************************/ declare namespace CdToolchainV2 { /** An operation response. */ interface Response { result: T; status: number; statusText: string; headers: IncomingHttpHeaders; } /** The callback for a service request. */ type Callback = (error: any, response?: Response) => void; /** The body of a service request that returns no response data. */ interface EmptyObject { } /** A standard JS object, defined to avoid the limitations of `Object` and `object` */ interface JsonObject { [key: string]: any; } /************************* * request interfaces ************************/ /** Parameters for the `listToolchains` operation. */ interface ListToolchainsParams { /** The resource group ID where the toolchains exist. */ resourceGroupId: string; /** Limit the number of results. */ limit?: number; /** Pagination token. */ start?: string; /** Exact name of toolchain to look up. This parameter is case sensitive. */ name?: string; headers?: OutgoingHttpHeaders; } /** Parameters for the `createToolchain` operation. */ interface CreateToolchainParams { /** Toolchain name. */ name: string; /** Resource group where toolchain will be created. */ resourceGroupId: string; /** Describes the toolchain. */ description?: string; headers?: OutgoingHttpHeaders; } /** Parameters for the `getToolchainById` operation. */ interface GetToolchainByIdParams { /** ID of the toolchain. */ toolchainId: string; headers?: OutgoingHttpHeaders; } /** Parameters for the `deleteToolchain` operation. */ interface DeleteToolchainParams { /** ID of the toolchain. */ toolchainId: string; headers?: OutgoingHttpHeaders; } /** Parameters for the `updateToolchain` operation. */ interface UpdateToolchainParams { /** ID of the toolchain. */ toolchainId: string; /** The name of the toolchain. */ name?: string; /** An optional description. */ description?: string; headers?: OutgoingHttpHeaders; } /** Parameters for the `createToolchainEvent` operation. */ interface CreateToolchainEventParams { /** ID of the toolchain to send events from. */ toolchainId: string; /** Event title. */ title: string; /** Describes the event. */ description: string; /** The content type of the attached data. Supported values are `text/plain`, `application/json`, and `none`. */ contentType: CreateToolchainEventConstants.ContentType | string; /** Additional data to be added with the event. The format must correspond to the value of `content_type`. */ data?: ToolchainEventPrototypeData; headers?: OutgoingHttpHeaders; } /** Constants for the `createToolchainEvent` operation. */ namespace CreateToolchainEventConstants { /** The content type of the attached data. Supported values are `text/plain`, `application/json`, and `none`. */ enum ContentType { APPLICATION_JSON = "application/json", TEXT_PLAIN = "text/plain", NONE = "none" } } /** Parameters for the `listTools` operation. */ interface ListToolsParams { /** ID of the toolchain that tools are bound to. */ toolchainId: string; /** Limit the number of results. */ limit?: number; /** Pagination token. */ start?: string; headers?: OutgoingHttpHeaders; } /** Parameters for the `createTool` operation. */ interface CreateToolParams { /** ID of the toolchain to bind the tool to. */ toolchainId: string; /** The unique short name of the tool that should be provisioned. A table of `tool_type_id` values corresponding * to each tool integration can be found in the Configuring tool * integrations page. */ toolTypeId: string; /** Name of the tool. */ name?: string; /** Unique key-value pairs representing parameters to be used to create the tool. A list of parameters for each * tool integration can be found in the Configuring tool * integrations page. */ parameters?: JsonObject; headers?: OutgoingHttpHeaders; } /** Parameters for the `getToolById` operation. */ interface GetToolByIdParams { /** ID of the toolchain. */ toolchainId: string; /** ID of the tool bound to the toolchain. */ toolId: string; headers?: OutgoingHttpHeaders; } /** Parameters for the `deleteTool` operation. */ interface DeleteToolParams { /** ID of the toolchain. */ toolchainId: string; /** ID of the tool bound to the toolchain. */ toolId: string; headers?: OutgoingHttpHeaders; } /** Parameters for the `updateTool` operation. */ interface UpdateToolParams { /** ID of the toolchain. */ toolchainId: string; /** ID of the tool bound to the toolchain. */ toolId: string; /** Name of the tool. */ name?: string; /** The unique short name of the tool that should be provisioned or updated. A table of `tool_type_id` values * corresponding to each tool integration can be found in the Configuring tool * integrations page. */ toolTypeId?: string; /** Unique key-value pairs representing parameters to be used to create the tool. A list of parameters for each * tool integration can be found in the Configuring tool * integrations page. */ parameters?: JsonObject; headers?: OutgoingHttpHeaders; } /************************* * model interfaces ************************/ /** * Model describing tool resource. */ interface ToolModel { /** Tool ID. */ id: string; /** Resource group where the tool is located. */ resource_group_id: string; /** Tool CRN. */ crn: string; /** The unique name of the provisioned tool. A table of `tool_type_id` values corresponding to each tool * integration can be found in the Configuring tool * integrations page. */ tool_type_id: string; /** ID of toolchain which the tool is bound to. */ toolchain_id: string; /** CRN of toolchain which the tool is bound to. */ toolchain_crn: string; /** URI representing the tool. */ href: string; /** Information on URIs to access this resource through the UI or API. */ referent: ToolModelReferent; /** Name of the tool. */ name?: string; /** Latest tool update timestamp. */ updated_at: string; /** Unique key-value pairs representing parameters to be used to create the tool. A list of parameters for each * tool integration can be found in the Configuring tool * integrations page. */ parameters: JsonObject; /** Current configuration state of the tool. */ state: ToolModel.Constants.State | string; } namespace ToolModel { namespace Constants { /** Current configuration state of the tool. */ enum State { CONFIGURED = "configured", CONFIGURING = "configuring", MISCONFIGURED = "misconfigured", UNCONFIGURED = "unconfigured" } } } /** * Information on URIs to access this resource through the UI or API. */ interface ToolModelReferent { /** URI representing this resource through the UI. */ ui_href?: string; /** URI representing this resource through an API. */ api_href?: string; } /** * Response structure for GET toolchains. */ interface Toolchain { /** Toolchain ID. */ id: string; /** Toolchain name. */ name: string; /** Describes the toolchain. */ description: string; /** Account ID where toolchain can be found. */ account_id: string; /** Toolchain region. */ location: string; /** Resource group where the toolchain is located. */ resource_group_id: string; /** Toolchain CRN. */ crn: string; /** URI that can be used to retrieve toolchain. */ href: string; /** URL of a user-facing user interface for this toolchain. */ ui_href: string; /** Toolchain creation timestamp. */ created_at: string; /** Latest toolchain update timestamp. */ updated_at: string; /** Identity that created the toolchain. */ created_by: string; } /** * Response structure for GET toolchains. */ interface ToolchainCollection { /** Total number of toolchains found in collection. */ total_count: number; /** Maximum number of toolchains returned from collection. */ limit: number; /** Information about retrieving first toolchain results from the collection. */ first: ToolchainCollectionFirst; /** Information about retrieving previous toolchain results from the collection. */ previous?: ToolchainCollectionPrevious; /** Information about retrieving next toolchain results from the collection. */ next?: ToolchainCollectionNext; /** Information about retrieving last toolchain results from the collection. */ last: ToolchainCollectionLast; /** Toolchain results returned from the collection. */ toolchains?: ToolchainModel[]; } /** * Information about retrieving first toolchain results from the collection. */ interface ToolchainCollectionFirst { /** URI that can be used to get first results from the collection. */ href: string; } /** * Information about retrieving last toolchain results from the collection. */ interface ToolchainCollectionLast { /** Cursor that can be set as the 'start' query parameter to get the last set of toolchain collections. */ start?: string; /** URI that can be used to get last results from the collection. */ href: string; } /** * Information about retrieving next toolchain results from the collection. */ interface ToolchainCollectionNext { /** Cursor that can be set as the 'start' query parameter to get the next set of toolchain collections. */ start?: string; /** URI that can be used to get next results from the collection. */ href: string; } /** * Information about retrieving previous toolchain results from the collection. */ interface ToolchainCollectionPrevious { /** Cursor that can be set as the 'start' query parameter to get the previous set of toolchain collections. */ start?: string; /** URI that can be used to get previous results from the collection. */ href: string; } /** * Response structure for POST toolchain event. */ interface ToolchainEventPost { /** Event ID. */ id: string; } /** * Additional data to be added with the event. The format must correspond to the value of `content_type`. */ interface ToolchainEventPrototypeData { /** Contains JSON data to be added with the event. `content_type` must be set to `application/json`. */ application_json?: ToolchainEventPrototypeDataApplicationJson; /** Contains text data to be added with the event. `content_type` must be set to `text/plain`. */ text_plain?: ToolchainEventPrototypeDataTextPlain; } /** * Contains JSON data to be added with the event. `content_type` must be set to `application/json`. */ interface ToolchainEventPrototypeDataApplicationJson { /** JSON-formatted key-value pairs representing any additional information to be included with the event. The * payload is constrained to a maximum depth of 5, and keys that must satisfy the pattern ^[a-zA-Z0-9-_]+$. */ content: JsonObject; } /** * Contains text data to be added with the event. `content_type` must be set to `text/plain`. */ interface ToolchainEventPrototypeDataTextPlain { /** The text data to send in the event. */ content: string; } /** * Model describing toolchain resource. */ interface ToolchainModel { /** Toolchain ID. */ id: string; /** Toolchain name. */ name: string; /** Describes the toolchain. */ description: string; /** Account ID where toolchain can be found. */ account_id: string; /** Toolchain region. */ location: string; /** Resource group where the toolchain is located. */ resource_group_id: string; /** Toolchain CRN. */ crn: string; /** URI that can be used to retrieve toolchain. */ href: string; /** URL of a user-facing user interface for this toolchain. */ ui_href: string; /** Toolchain creation timestamp. */ created_at: string; /** Latest toolchain update timestamp. */ updated_at: string; /** Identity that created the toolchain. */ created_by: string; } /** * Response structure for PATCH toolchain. */ interface ToolchainPatch { /** Toolchain ID. */ id: string; /** Toolchain name. */ name: string; /** Describes the toolchain. */ description: string; /** Account ID where toolchain can be found. */ account_id: string; /** Toolchain region. */ location: string; /** Resource group where the toolchain is located. */ resource_group_id: string; /** Toolchain CRN. */ crn: string; /** URI that can be used to retrieve toolchain. */ href: string; /** URL of a user-facing user interface for this toolchain. */ ui_href: string; /** Toolchain creation timestamp. */ created_at: string; /** Latest toolchain update timestamp. */ updated_at: string; /** Identity that created the toolchain. */ created_by: string; } /** * Response structure for POST toolchain. */ interface ToolchainPost { /** Toolchain ID. */ id: string; /** Toolchain name. */ name: string; /** Describes the toolchain. */ description: string; /** Account ID where toolchain can be found. */ account_id: string; /** Toolchain region. */ location: string; /** Resource group where the toolchain is located. */ resource_group_id: string; /** Toolchain CRN. */ crn: string; /** URI that can be used to retrieve toolchain. */ href: string; /** URL of a user-facing user interface for this toolchain. */ ui_href: string; /** Toolchain creation timestamp. */ created_at: string; /** Latest toolchain update timestamp. */ updated_at: string; /** Identity that created the toolchain. */ created_by: string; } /** * Response structure for GET tool. */ interface ToolchainTool { /** Tool ID. */ id: string; /** Resource group where the tool is located. */ resource_group_id: string; /** Tool CRN. */ crn: string; /** The unique name of the provisioned tool. A table of `tool_type_id` values corresponding to each tool * integration can be found in the Configuring tool * integrations page. */ tool_type_id: string; /** ID of toolchain which the tool is bound to. */ toolchain_id: string; /** CRN of toolchain which the tool is bound to. */ toolchain_crn: string; /** URI representing the tool. */ href: string; /** Information on URIs to access this resource through the UI or API. */ referent: ToolModelReferent; /** Name of the tool. */ name?: string; /** Latest tool update timestamp. */ updated_at: string; /** Unique key-value pairs representing parameters to be used to create the tool. A list of parameters for each * tool integration can be found in the Configuring tool * integrations page. */ parameters: JsonObject; /** Current configuration state of the tool. */ state: ToolchainTool.Constants.State | string; } namespace ToolchainTool { namespace Constants { /** Current configuration state of the tool. */ enum State { CONFIGURED = "configured", CONFIGURING = "configuring", MISCONFIGURED = "misconfigured", UNCONFIGURED = "unconfigured" } } } /** * Response structure for GET tools. */ interface ToolchainToolCollection { /** Maximum number of tools returned from collection. */ limit: number; /** Total number of tools found in collection. */ total_count: number; /** Information about retrieving first tool results from the collection. */ first: ToolchainToolCollectionFirst; /** Information about retrieving previous tool results from the collection. */ previous?: ToolchainToolCollectionPrevious; /** Information about retrieving next tool results from the collection. */ next?: ToolchainToolCollectionNext; /** Information about retrieving last tool results from the collection. */ last: ToolchainToolCollectionLast; /** Tool results returned from the collection. */ tools: ToolModel[]; } /** * Information about retrieving first tool results from the collection. */ interface ToolchainToolCollectionFirst { /** URI that can be used to get first results from the collection. */ href: string; } /** * Information about retrieving last tool results from the collection. */ interface ToolchainToolCollectionLast { /** Cursor that can be used to get the last set of tool collections. */ start?: string; /** URI that can be used to get last results from the collection. */ href: string; } /** * Information about retrieving next tool results from the collection. */ interface ToolchainToolCollectionNext { /** Cursor that can be used to get the next set of tool collections. */ start?: string; /** URI that can be used to get next results from the collection. */ href: string; } /** * Information about retrieving previous tool results from the collection. */ interface ToolchainToolCollectionPrevious { /** Cursor that can be used to get the previous set of tool collections. */ start?: string; /** URI that can be used to get previous results from the collection. */ href: string; } /** * Response structure for PATCH tool. */ interface ToolchainToolPatch { /** Tool ID. */ id: string; /** Resource group where the tool is located. */ resource_group_id: string; /** Tool CRN. */ crn: string; /** The unique name of the provisioned tool. A table of `tool_type_id` values corresponding to each tool * integration can be found in the Configuring tool * integrations page. */ tool_type_id: string; /** ID of toolchain which the tool is bound to. */ toolchain_id: string; /** CRN of toolchain which the tool is bound to. */ toolchain_crn: string; /** URI representing the tool. */ href: string; /** Information on URIs to access this resource through the UI or API. */ referent: ToolModelReferent; /** Name of the tool. */ name?: string; /** Latest tool update timestamp. */ updated_at: string; /** Unique key-value pairs representing parameters to be used to create the tool. A list of parameters for each * tool integration can be found in the Configuring tool * integrations page. */ parameters: JsonObject; /** Current configuration state of the tool. */ state: ToolchainToolPatch.Constants.State | string; } namespace ToolchainToolPatch { namespace Constants { /** Current configuration state of the tool. */ enum State { CONFIGURED = "configured", CONFIGURING = "configuring", MISCONFIGURED = "misconfigured", UNCONFIGURED = "unconfigured" } } } /** * POST tool response body. */ interface ToolchainToolPost { /** Tool ID. */ id: string; /** Resource group where the tool is located. */ resource_group_id: string; /** Tool CRN. */ crn: string; /** The unique name of the provisioned tool. A table of `tool_type_id` values corresponding to each tool * integration can be found in the Configuring tool * integrations page. */ tool_type_id: string; /** ID of toolchain which the tool is bound to. */ toolchain_id: string; /** CRN of toolchain which the tool is bound to. */ toolchain_crn: string; /** URI representing the tool. */ href: string; /** Information on URIs to access this resource through the UI or API. */ referent: ToolModelReferent; /** Name of the tool. */ name?: string; /** Latest tool update timestamp. */ updated_at: string; /** Unique key-value pairs representing parameters to be used to create the tool. A list of parameters for each * tool integration can be found in the Configuring tool * integrations page. */ parameters: JsonObject; /** Current configuration state of the tool. */ state: ToolchainToolPost.Constants.State | string; } namespace ToolchainToolPost { namespace Constants { /** Current configuration state of the tool. */ enum State { CONFIGURED = "configured", CONFIGURING = "configuring", MISCONFIGURED = "misconfigured", UNCONFIGURED = "unconfigured" } } } /************************* * pager classes ************************/ /** * ToolchainsPager can be used to simplify the use of listToolchains(). */ class ToolchainsPager { protected _hasNext: boolean; protected pageContext: any; protected client: CdToolchainV2; protected params: CdToolchainV2.ListToolchainsParams; /** * Construct a ToolchainsPager object. * * @param {CdToolchainV2} client - The service client instance used to invoke listToolchains() * @param {Object} params - The parameters to be passed to listToolchains() * @constructor * @returns {ToolchainsPager} */ constructor(client: CdToolchainV2, params: CdToolchainV2.ListToolchainsParams); /** * Returns true if there are potentially more results to be retrieved by invoking getNext(). * @returns {boolean} */ hasNext(): boolean; /** * Returns the next page of results by invoking listToolchains(). * @returns {Promise} */ getNext(): Promise; /** * Returns all results by invoking listToolchains() repeatedly until all pages of results have been retrieved. * @returns {Promise} */ getAll(): Promise; } /** * ToolsPager can be used to simplify the use of listTools(). */ class ToolsPager { protected _hasNext: boolean; protected pageContext: any; protected client: CdToolchainV2; protected params: CdToolchainV2.ListToolsParams; /** * Construct a ToolsPager object. * * @param {CdToolchainV2} client - The service client instance used to invoke listTools() * @param {Object} params - The parameters to be passed to listTools() * @constructor * @returns {ToolsPager} */ constructor(client: CdToolchainV2, params: CdToolchainV2.ListToolsParams); /** * Returns true if there are potentially more results to be retrieved by invoking getNext(). * @returns {boolean} */ hasNext(): boolean; /** * Returns the next page of results by invoking listTools(). * @returns {Promise} */ getNext(): Promise; /** * Returns all results by invoking listTools() repeatedly until all pages of results have been retrieved. * @returns {Promise} */ getAll(): Promise; } } export = CdToolchainV2;