/**
* Apimatic APILib
*
* This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
*/
import { ApiResponse, FileWrapper, RequestOptions } from '../core.js';
import { Accept } from '../models/accept.js';
import { GenerateSdkViaUrlRequest } from '../models/generateSdkViaUrlRequest.js';
import { Platforms } from '../models/platforms.js';
import { UserCodeGeneration } from '../models/userCodeGeneration.js';
import { BaseController } from './baseController.js';
export declare class CodeGenerationExternalApisController extends BaseController {
/**
* Generate an SDK for an API by by uploading the API specification file.
*
* This endpoint generates and then uploads the generated SDK to APIMatic's cloud storage. An ID for
* the generation performed is returned as part of the response.
*
* This endpoint does not import an API into APIMatic.
*
* @param accept Must be set to 'application/json' to ensure JSON response format
* @param file The API specification file.
The type of the specification file should be any of
* the [supported formats](https://docs.apimatic.io/api-transformer/overview-
* transformer#supported-input-formats).
* @param template The structure contains platforms that APIMatic CodeGen can generate SDKs and Docs
* in.
* @return Response from the API call
*/
generateSdkViaFile(accept: Accept, file: FileWrapper, template: Platforms, queryParameters?: Record, requestOptions?: RequestOptions): Promise>;
/**
* Generate an SDK for an API by providing the URL of the API specification file.
*
* This endpoint generates and then uploads the generated SDK to APIMatic's cloud storage. An ID for
* the generation performed is returned as part of the response.
*
* This endpoint does not import an API into APIMatic.
*
* @param body Request Body
* @return Response from the API call
*/
generateSdkViaUrl(body: GenerateSdkViaUrlRequest, requestOptions?: RequestOptions): Promise>;
/**
* Download the SDK generated via the Generate SDK endpoints.
*
* @param codegenId The ID of code generation received in the response of the [Generate SDK Via
* File]($e/Code%20Generation%20-%20External%20APIs/Generate%20SDK%20via%20File) or
* [Generate SDK Via URL ]($e/Code%20Generation%20-
* %20External%20APIs/Generate%20SDK%20via%20URL) calls.
* @return Response from the API call
*/
downloadSdk(codegenId: string, requestOptions?: RequestOptions): Promise>;
/**
* Get a list of all SDK generations performed with external APIs via the Generate SDK endpoints.
*
* @return Response from the API call
*/
listAllCodeGenerations(requestOptions?: RequestOptions): Promise>;
/**
* Download the API Specification file used as input for a specific SDK generation performed via the
* Generate SDK endpoints.
*
* @param codegenId The ID of the code generation to download the API specification for. The code
* generation ID is received in the response of the [Generate SDK Via
* File]($e/Code%20Generation%20-%20External%20APIs/Generate%20SDK%20via%20File) or
* [Generate SDK Via URL ]($e/Code%20Generation%20-
* %20External%20APIs/Generate%20SDK%20via%20URL) calls
* @return Response from the API call
*/
downloadInputFile(codegenId: string, requestOptions?: RequestOptions): Promise>;
/**
* Get details on an SDK generation performed for an external API via the Generate SDK endpoints.
*
* @param codegenId The ID of the code generation to fetch. The code generation ID is received in the
* response of the [Generate SDK Via File]($e/Code%20Generation%20-
* %20External%20APIs/Generate%20SDK%20via%20File) or [Generate SDK Via URL
* ]($e/Code%20Generation%20-%20External%20APIs/Generate%20SDK%20via%20URL) calls.
* @return Response from the API call
*/
getACodeGeneration(codegenId: string, requestOptions?: RequestOptions): Promise>;
/**
* Delete an SDK generation performed for an API via the Generate SDK endpoints.
*
* @param codegenId The ID of the code generation to delete. The code generation ID is received in the
* response of the [Generate SDK Via File]($e/Code%20Generation%20-
* %20External%20APIs/Generate%20SDK%20via%20File) or [Generate SDK Via URL
* ]($e/Code%20Generation%20-%20External%20APIs/Generate%20SDK%20via%20URL) calls.
* @return Response from the API call
*/
deleteCodeGenerationForExternalApis(codegenId: string, requestOptions?: RequestOptions): Promise>;
}
//# sourceMappingURL=codeGenerationExternalApisController.d.ts.map