/**
 * This program and the accompanying materials are made available under the terms of the
 * Eclipse Public License v2.0 which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-v20.html
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Copyright Contributors to the Zowe Project.
 *
 */
import { type AbstractSession } from "@zowe/imperative";
import type { IBundleParms, ICMCIApiResponse, IProgramParms, ITransactionParms, IURIMapParms, IWebServiceParms } from "../../doc";
/**
 * Define a new program resource to CICS through CMCI REST API
 * @param {AbstractSession} session - the session to connect to CMCI with
 * @param {IProgramParms} parms - parameters for defining your program
 * @returns {Promise<any>} promise that resolves to the response (XML parsed into a javascript object)
 *                          when the request is complete
 * @throws {ImperativeError} CICS program name not defined or blank
 * @throws {ImperativeError} CICS CSD group not defined or blank
 * @throws {ImperativeError} CICS region name not defined or blank
 * @throws {ImperativeError} CicsCmciRestClient request fails
 */
export declare function defineProgram(session: AbstractSession, parms: IProgramParms): Promise<ICMCIApiResponse>;
/**
 * Define a new transaction resource to CICS through CMCI REST API
 * @param {AbstractSession} session - the session to connect to CMCI with
 * @param {ITransactionParms} parms - parameters for defining your transaction
 * @returns {Promise<any>} promise that resolves to the response (XML parsed into a javascript object)
 *                          when the request is complete
 * @throws {ImperativeError} CICS transaction name not defined or blank
 * @throws {ImperativeError} CICS program name not defined or blank
 * @throws {ImperativeError} CICS CSD group not defined or blank
 * @throws {ImperativeError} CICS region name not defined or blank
 * @throws {ImperativeError} CicsCmciRestClient request fails
 */
export declare function defineTransaction(session: AbstractSession, parms: ITransactionParms): Promise<ICMCIApiResponse>;
/**
 * Define a new server URIMap resource to CICS through CMCI REST API
 * @param {AbstractSession} session - the session to connect to CMCI with
 * @param {IURIMapParms} parms - parameters for defining your URIMap
 * @returns {Promise<any>} promise that resolves to the response (XML parsed into a javascript object)
 *                          when the request is complete
 * @throws {ImperativeError} CICS URIMap name not defined or blank
 * @throws {ImperativeError} CICS CSD group not defined or blank
 * @throws {ImperativeError} CICS URIMap path not defined or blank
 * @throws {ImperativeError} CICS URIMap host not defined or blank
 * @throws {ImperativeError} CICS URIMap scheme not defined or blank
 * @throws {ImperativeError} CICS region name not defined or blank
 * @throws {ImperativeError} CICS URIMap program name not defined or blank
 * @throws {ImperativeError} CicsCmciRestClient request fails
 */
export declare function defineUrimapServer(session: AbstractSession, parms: IURIMapParms): Promise<ICMCIApiResponse>;
/**
 * Define a new client URIMap resource to CICS through CMCI REST API
 * @param {AbstractSession} session - the session to connect to CMCI with
 * @param {IURIMapParms} parms - parameters for defining your URIMap
 * @returns {Promise<any>} promise that resolves to the response (XML parsed into a javascript object)
 *                          when the request is complete
 * @throws {ImperativeError} CICS URIMap name not defined or blank
 * @throws {ImperativeError} CICS CSD group not defined or blank
 * @throws {ImperativeError} CICS URIMap path not defined or blank
 * @throws {ImperativeError} CICS URIMap host not defined or blank
 * @throws {ImperativeError} CICS URIMap scheme not defined or blank
 * @throws {ImperativeError} CICS region name not defined or blank
 * @throws {ImperativeError} CicsCmciRestClient request fails
 */
export declare function defineUrimapClient(session: AbstractSession, parms: IURIMapParms): Promise<ICMCIApiResponse>;
/**
 * Define a new pipeline URIMap resource to CICS through CMCI REST API
 * @param {AbstractSession} session - the session to connect to CMCI with
 * @param {IURIMapParms} parms - parameters for defining your URIMap
 * @returns {Promise<any>} promise that resolves to the response (XML parsed into a javascript object)
 *                          when the request is complete
 * @throws {ImperativeError} CICS URIMap name not defined or blank
 * @throws {ImperativeError} CICS CSD group not defined or blank
 * @throws {ImperativeError} CICS URIMap path not defined or blank
 * @throws {ImperativeError} CICS URIMap host not defined or blank
 * @throws {ImperativeError} CICS URIMap scheme not defined or blank
 * @throws {ImperativeError} CICS region name not defined or blank
 * @throws {ImperativeError} CICS URIMap pipeline name not defined or blank
 * @throws {ImperativeError} CicsCmciRestClient request fails
 */
export declare function defineUrimapPipeline(session: AbstractSession, parms: IURIMapParms): Promise<ICMCIApiResponse>;
export declare function defineWebservice(session: AbstractSession, parms: IWebServiceParms): Promise<ICMCIApiResponse>;
export declare function defineBundle(session: AbstractSession, parms: IBundleParms): Promise<ICMCIApiResponse>;
