/**
 * Fireblocks API
 * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.  - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
 *
 * The version of the OpenAPI document: 1.6.2
 * Contact: developers@fireblocks.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import { RequestArgs, BaseAPI } from '../base';
import { AbiFunction } from '../models';
import { ContractDeployRequest } from '../models';
import { ContractDeployResponse } from '../models';
import { ContractTemplateDto } from '../models';
import { ContractUploadRequest } from '../models';
import { SupportedBlockChainsResponse } from '../models';
import { TemplatesPaginatedResponse } from '../models';
/**
 * ContractTemplatesApi - axios parameter creator
 * @export
 */
export declare const ContractTemplatesApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Delete a contract by id. allowed only for private contract templates. Notice: it is irreversible!
     * @summary Delete a contract template by id
     * @param {string} contractTemplateId The Contract Template identifier
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteContractTemplateById: (contractTemplateId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Deploy a new contract by contract template id. If you wish to deploy a token (ERC20, ERC721 etc), and create asset please use POST /tokenization
     * @summary Deploy contract
     * @param {ContractDeployRequest} contractDeployRequest
     * @param {string} contractTemplateId The Contract Template identifier
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deployContract: (contractDeployRequest: ContractDeployRequest, contractTemplateId: string, idempotencyKey?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Return contract template\'s constructor ABI
     * @summary Return contract template\'s constructor
     * @param {string} contractTemplateId The Contract Template identifier
     * @param {boolean} [withDocs] true if you want to get the abi with its docs
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getConstructorByContractTemplateId: (contractTemplateId: string, withDocs?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Return detailed information about the contract template
     * @summary Return contract template by id
     * @param {string} contractTemplateId The Contract Template identifier
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getContractTemplateById: (contractTemplateId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Return minimal representation of all the contract templates available for the workspace. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
     * @summary List all contract templates
     * @param {number} [limit] Items per page (max 100)
     * @param {number} [offset] Paging offset
     * @param {string} [pageCursor] Page cursor to get the next page
     * @param {number} [pageSize] Number of items per page, requesting more then max will return max items
     * @param {GetContractTemplatesTypeEnum} [type] The type of the contract templates you wish to retrieve. Can accept one type, more or none
     * @param {GetContractTemplatesInitializationPhaseEnum} [initializationPhase] For standalone contracts use ON_DEPLOYMENT and for contracts that are behind proxies use POST_DEPLOYMENT
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getContractTemplates: (limit?: number, offset?: number, pageCursor?: string, pageSize?: number, type?: GetContractTemplatesTypeEnum, initializationPhase?: GetContractTemplatesInitializationPhaseEnum, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Return contract template`s function ABI by signature
     * @summary Return contract template\'s function
     * @param {string} contractTemplateId The Contract Template identifier
     * @param {string} functionSignature
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getFunctionAbiByContractTemplateId: (contractTemplateId: string, functionSignature: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Get supported blockchains for the template
     * @summary Get supported blockchains for the template
     * @param {string} contractTemplateId The Contract Template identifier
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSupportedBlockchainsByTemplateId: (contractTemplateId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Upload a new contract template. This contract template will be available for the workspace
     * @summary Upload contract template
     * @param {ContractUploadRequest} contractUploadRequest
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    uploadContractTemplate: (contractUploadRequest: ContractUploadRequest, idempotencyKey?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * ContractTemplatesApi - functional programming interface
 * @export
 */
export declare const ContractTemplatesApiFp: (configuration?: Configuration) => {
    /**
     * Delete a contract by id. allowed only for private contract templates. Notice: it is irreversible!
     * @summary Delete a contract template by id
     * @param {string} contractTemplateId The Contract Template identifier
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteContractTemplateById(contractTemplateId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     * Deploy a new contract by contract template id. If you wish to deploy a token (ERC20, ERC721 etc), and create asset please use POST /tokenization
     * @summary Deploy contract
     * @param {ContractDeployRequest} contractDeployRequest
     * @param {string} contractTemplateId The Contract Template identifier
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deployContract(contractDeployRequest: ContractDeployRequest, contractTemplateId: string, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ContractDeployResponse>>;
    /**
     * Return contract template\'s constructor ABI
     * @summary Return contract template\'s constructor
     * @param {string} contractTemplateId The Contract Template identifier
     * @param {boolean} [withDocs] true if you want to get the abi with its docs
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getConstructorByContractTemplateId(contractTemplateId: string, withDocs?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AbiFunction>>;
    /**
     * Return detailed information about the contract template
     * @summary Return contract template by id
     * @param {string} contractTemplateId The Contract Template identifier
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getContractTemplateById(contractTemplateId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ContractTemplateDto>>;
    /**
     * Return minimal representation of all the contract templates available for the workspace. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
     * @summary List all contract templates
     * @param {number} [limit] Items per page (max 100)
     * @param {number} [offset] Paging offset
     * @param {string} [pageCursor] Page cursor to get the next page
     * @param {number} [pageSize] Number of items per page, requesting more then max will return max items
     * @param {GetContractTemplatesTypeEnum} [type] The type of the contract templates you wish to retrieve. Can accept one type, more or none
     * @param {GetContractTemplatesInitializationPhaseEnum} [initializationPhase] For standalone contracts use ON_DEPLOYMENT and for contracts that are behind proxies use POST_DEPLOYMENT
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getContractTemplates(limit?: number, offset?: number, pageCursor?: string, pageSize?: number, type?: GetContractTemplatesTypeEnum, initializationPhase?: GetContractTemplatesInitializationPhaseEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TemplatesPaginatedResponse>>;
    /**
     * Return contract template`s function ABI by signature
     * @summary Return contract template\'s function
     * @param {string} contractTemplateId The Contract Template identifier
     * @param {string} functionSignature
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getFunctionAbiByContractTemplateId(contractTemplateId: string, functionSignature: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AbiFunction>>;
    /**
     * Get supported blockchains for the template
     * @summary Get supported blockchains for the template
     * @param {string} contractTemplateId The Contract Template identifier
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSupportedBlockchainsByTemplateId(contractTemplateId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SupportedBlockChainsResponse>>;
    /**
     * Upload a new contract template. This contract template will be available for the workspace
     * @summary Upload contract template
     * @param {ContractUploadRequest} contractUploadRequest
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    uploadContractTemplate(contractUploadRequest: ContractUploadRequest, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ContractTemplateDto>>;
};
/**
 * ContractTemplatesApi - factory interface
 * @export
 */
export declare const ContractTemplatesApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Delete a contract by id. allowed only for private contract templates. Notice: it is irreversible!
     * @summary Delete a contract template by id
     * @param {ContractTemplatesApiDeleteContractTemplateByIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteContractTemplateById(requestParameters: ContractTemplatesApiDeleteContractTemplateByIdRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     * Deploy a new contract by contract template id. If you wish to deploy a token (ERC20, ERC721 etc), and create asset please use POST /tokenization
     * @summary Deploy contract
     * @param {ContractTemplatesApiDeployContractRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deployContract(requestParameters: ContractTemplatesApiDeployContractRequest, options?: RawAxiosRequestConfig): AxiosPromise<ContractDeployResponse>;
    /**
     * Return contract template\'s constructor ABI
     * @summary Return contract template\'s constructor
     * @param {ContractTemplatesApiGetConstructorByContractTemplateIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getConstructorByContractTemplateId(requestParameters: ContractTemplatesApiGetConstructorByContractTemplateIdRequest, options?: RawAxiosRequestConfig): AxiosPromise<AbiFunction>;
    /**
     * Return detailed information about the contract template
     * @summary Return contract template by id
     * @param {ContractTemplatesApiGetContractTemplateByIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getContractTemplateById(requestParameters: ContractTemplatesApiGetContractTemplateByIdRequest, options?: RawAxiosRequestConfig): AxiosPromise<ContractTemplateDto>;
    /**
     * Return minimal representation of all the contract templates available for the workspace. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
     * @summary List all contract templates
     * @param {ContractTemplatesApiGetContractTemplatesRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getContractTemplates(requestParameters?: ContractTemplatesApiGetContractTemplatesRequest, options?: RawAxiosRequestConfig): AxiosPromise<TemplatesPaginatedResponse>;
    /**
     * Return contract template`s function ABI by signature
     * @summary Return contract template\'s function
     * @param {ContractTemplatesApiGetFunctionAbiByContractTemplateIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getFunctionAbiByContractTemplateId(requestParameters: ContractTemplatesApiGetFunctionAbiByContractTemplateIdRequest, options?: RawAxiosRequestConfig): AxiosPromise<AbiFunction>;
    /**
     * Get supported blockchains for the template
     * @summary Get supported blockchains for the template
     * @param {ContractTemplatesApiGetSupportedBlockchainsByTemplateIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSupportedBlockchainsByTemplateId(requestParameters: ContractTemplatesApiGetSupportedBlockchainsByTemplateIdRequest, options?: RawAxiosRequestConfig): AxiosPromise<SupportedBlockChainsResponse>;
    /**
     * Upload a new contract template. This contract template will be available for the workspace
     * @summary Upload contract template
     * @param {ContractTemplatesApiUploadContractTemplateRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    uploadContractTemplate(requestParameters: ContractTemplatesApiUploadContractTemplateRequest, options?: RawAxiosRequestConfig): AxiosPromise<ContractTemplateDto>;
};
/**
 * Request parameters for deleteContractTemplateById operation in ContractTemplatesApi.
 * @export
 * @interface ContractTemplatesApiDeleteContractTemplateByIdRequest
 */
export interface ContractTemplatesApiDeleteContractTemplateByIdRequest {
    /**
     * The Contract Template identifier
     * @type {string}
     * @memberof ContractTemplatesApiDeleteContractTemplateById
     */
    readonly contractTemplateId: string;
}
/**
 * Request parameters for deployContract operation in ContractTemplatesApi.
 * @export
 * @interface ContractTemplatesApiDeployContractRequest
 */
export interface ContractTemplatesApiDeployContractRequest {
    /**
     *
     * @type {ContractDeployRequest}
     * @memberof ContractTemplatesApiDeployContract
     */
    readonly contractDeployRequest: ContractDeployRequest;
    /**
     * The Contract Template identifier
     * @type {string}
     * @memberof ContractTemplatesApiDeployContract
     */
    readonly contractTemplateId: string;
    /**
     * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @type {string}
     * @memberof ContractTemplatesApiDeployContract
     */
    readonly idempotencyKey?: string;
}
/**
 * Request parameters for getConstructorByContractTemplateId operation in ContractTemplatesApi.
 * @export
 * @interface ContractTemplatesApiGetConstructorByContractTemplateIdRequest
 */
export interface ContractTemplatesApiGetConstructorByContractTemplateIdRequest {
    /**
     * The Contract Template identifier
     * @type {string}
     * @memberof ContractTemplatesApiGetConstructorByContractTemplateId
     */
    readonly contractTemplateId: string;
    /**
     * true if you want to get the abi with its docs
     * @type {boolean}
     * @memberof ContractTemplatesApiGetConstructorByContractTemplateId
     */
    readonly withDocs?: boolean;
}
/**
 * Request parameters for getContractTemplateById operation in ContractTemplatesApi.
 * @export
 * @interface ContractTemplatesApiGetContractTemplateByIdRequest
 */
export interface ContractTemplatesApiGetContractTemplateByIdRequest {
    /**
     * The Contract Template identifier
     * @type {string}
     * @memberof ContractTemplatesApiGetContractTemplateById
     */
    readonly contractTemplateId: string;
}
/**
 * Request parameters for getContractTemplates operation in ContractTemplatesApi.
 * @export
 * @interface ContractTemplatesApiGetContractTemplatesRequest
 */
export interface ContractTemplatesApiGetContractTemplatesRequest {
    /**
     * Items per page (max 100)
     * @type {number}
     * @memberof ContractTemplatesApiGetContractTemplates
     */
    readonly limit?: number;
    /**
     * Paging offset
     * @type {number}
     * @memberof ContractTemplatesApiGetContractTemplates
     */
    readonly offset?: number;
    /**
     * Page cursor to get the next page
     * @type {string}
     * @memberof ContractTemplatesApiGetContractTemplates
     */
    readonly pageCursor?: string;
    /**
     * Number of items per page, requesting more then max will return max items
     * @type {number}
     * @memberof ContractTemplatesApiGetContractTemplates
     */
    readonly pageSize?: number;
    /**
     * The type of the contract templates you wish to retrieve. Can accept one type, more or none
     * @type {'FUNGIBLE_TOKEN' | 'NON_FUNGIBLE_TOKEN' | 'TOKEN_UTILITY'}
     * @memberof ContractTemplatesApiGetContractTemplates
     */
    readonly type?: GetContractTemplatesTypeEnum;
    /**
     * For standalone contracts use ON_DEPLOYMENT and for contracts that are behind proxies use POST_DEPLOYMENT
     * @type {'ON_DEPLOYMENT' | 'POST_DEPLOYMENT'}
     * @memberof ContractTemplatesApiGetContractTemplates
     */
    readonly initializationPhase?: GetContractTemplatesInitializationPhaseEnum;
}
/**
 * Request parameters for getFunctionAbiByContractTemplateId operation in ContractTemplatesApi.
 * @export
 * @interface ContractTemplatesApiGetFunctionAbiByContractTemplateIdRequest
 */
export interface ContractTemplatesApiGetFunctionAbiByContractTemplateIdRequest {
    /**
     * The Contract Template identifier
     * @type {string}
     * @memberof ContractTemplatesApiGetFunctionAbiByContractTemplateId
     */
    readonly contractTemplateId: string;
    /**
     *
     * @type {string}
     * @memberof ContractTemplatesApiGetFunctionAbiByContractTemplateId
     */
    readonly functionSignature: string;
}
/**
 * Request parameters for getSupportedBlockchainsByTemplateId operation in ContractTemplatesApi.
 * @export
 * @interface ContractTemplatesApiGetSupportedBlockchainsByTemplateIdRequest
 */
export interface ContractTemplatesApiGetSupportedBlockchainsByTemplateIdRequest {
    /**
     * The Contract Template identifier
     * @type {string}
     * @memberof ContractTemplatesApiGetSupportedBlockchainsByTemplateId
     */
    readonly contractTemplateId: string;
}
/**
 * Request parameters for uploadContractTemplate operation in ContractTemplatesApi.
 * @export
 * @interface ContractTemplatesApiUploadContractTemplateRequest
 */
export interface ContractTemplatesApiUploadContractTemplateRequest {
    /**
     *
     * @type {ContractUploadRequest}
     * @memberof ContractTemplatesApiUploadContractTemplate
     */
    readonly contractUploadRequest: ContractUploadRequest;
    /**
     * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @type {string}
     * @memberof ContractTemplatesApiUploadContractTemplate
     */
    readonly idempotencyKey?: string;
}
/**
 * ContractTemplatesApi - object-oriented interface
 * @export
 * @class ContractTemplatesApi
 * @extends {BaseAPI}
 */
export declare class ContractTemplatesApi extends BaseAPI {
    /**
     * Delete a contract by id. allowed only for private contract templates. Notice: it is irreversible!
     * @summary Delete a contract template by id
     * @param {ContractTemplatesApiDeleteContractTemplateByIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ContractTemplatesApi
     */
    deleteContractTemplateById(requestParameters: ContractTemplatesApiDeleteContractTemplateByIdRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<void>>;
    /**
     * Deploy a new contract by contract template id. If you wish to deploy a token (ERC20, ERC721 etc), and create asset please use POST /tokenization
     * @summary Deploy contract
     * @param {ContractTemplatesApiDeployContractRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ContractTemplatesApi
     */
    deployContract(requestParameters: ContractTemplatesApiDeployContractRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<ContractDeployResponse>>;
    /**
     * Return contract template\'s constructor ABI
     * @summary Return contract template\'s constructor
     * @param {ContractTemplatesApiGetConstructorByContractTemplateIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ContractTemplatesApi
     */
    getConstructorByContractTemplateId(requestParameters: ContractTemplatesApiGetConstructorByContractTemplateIdRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<AbiFunction>>;
    /**
     * Return detailed information about the contract template
     * @summary Return contract template by id
     * @param {ContractTemplatesApiGetContractTemplateByIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ContractTemplatesApi
     */
    getContractTemplateById(requestParameters: ContractTemplatesApiGetContractTemplateByIdRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<ContractTemplateDto>>;
    /**
     * Return minimal representation of all the contract templates available for the workspace. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
     * @summary List all contract templates
     * @param {ContractTemplatesApiGetContractTemplatesRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ContractTemplatesApi
     */
    getContractTemplates(requestParameters?: ContractTemplatesApiGetContractTemplatesRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<TemplatesPaginatedResponse>>;
    /**
     * Return contract template`s function ABI by signature
     * @summary Return contract template\'s function
     * @param {ContractTemplatesApiGetFunctionAbiByContractTemplateIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ContractTemplatesApi
     */
    getFunctionAbiByContractTemplateId(requestParameters: ContractTemplatesApiGetFunctionAbiByContractTemplateIdRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<AbiFunction>>;
    /**
     * Get supported blockchains for the template
     * @summary Get supported blockchains for the template
     * @param {ContractTemplatesApiGetSupportedBlockchainsByTemplateIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ContractTemplatesApi
     */
    getSupportedBlockchainsByTemplateId(requestParameters: ContractTemplatesApiGetSupportedBlockchainsByTemplateIdRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<SupportedBlockChainsResponse>>;
    /**
     * Upload a new contract template. This contract template will be available for the workspace
     * @summary Upload contract template
     * @param {ContractTemplatesApiUploadContractTemplateRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ContractTemplatesApi
     */
    uploadContractTemplate(requestParameters: ContractTemplatesApiUploadContractTemplateRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<ContractTemplateDto>>;
}
/**
 * @export
 */
export declare const GetContractTemplatesTypeEnum: {
    readonly FungibleToken: "FUNGIBLE_TOKEN";
    readonly NonFungibleToken: "NON_FUNGIBLE_TOKEN";
    readonly TokenUtility: "TOKEN_UTILITY";
};
export type GetContractTemplatesTypeEnum = typeof GetContractTemplatesTypeEnum[keyof typeof GetContractTemplatesTypeEnum];
/**
 * @export
 */
export declare const GetContractTemplatesInitializationPhaseEnum: {
    readonly OnDeployment: "ON_DEPLOYMENT";
    readonly PostDeployment: "POST_DEPLOYMENT";
};
export type GetContractTemplatesInitializationPhaseEnum = typeof GetContractTemplatesInitializationPhaseEnum[keyof typeof GetContractTemplatesInitializationPhaseEnum];
