import type { AccountId } from "../models/AccountId";
import type { BeginUploadRequestV2 } from "../models/BeginUploadRequestV2";
import type { BeginUploadResponseV2 } from "../models/BeginUploadResponseV2";
import type { CompleteUploadPartRequest } from "../models/CompleteUploadPartRequest";
import type { UploadId } from "../models/UploadId";
import type { UploadPartIndex } from "../models/UploadPartIndex";
import type { UploadPartV2 } from "../models/UploadPartV2";
import { ApiResult } from "../core/ApiResult";
import { Config } from "../core/OpenAPI";
export declare function beginMultipartUpload(config: Config, accountId: AccountId, requestBody: BeginUploadRequestV2): Promise<ApiResult<BeginUploadResponseV2>>;
/**
 * Finalizes an upload part for an in-progress multipart upload. Required API key type: 'secret_*' or 'public_*'.
 * @param accountId
 * @param uploadId
 * @param uploadPartIndex
 * @param requestBody
 * @returns void
 * @throws ApiError
 */
export declare function completeUploadPart(config: Config, accountId: AccountId, uploadId: UploadId, uploadPartIndex: UploadPartIndex, requestBody: CompleteUploadPartRequest): Promise<ApiResult<void>>;
/**
 * Gets a remaining upload part for an in-progress upload. Required API key type: 'secret_*' or 'public_*'.
 * @param accountId
 * @param uploadId
 * @param uploadPartIndex
 * @returns UploadPartV2 Success.
 * @throws ApiError
 */
export declare function getUploadPart(config: Config, accountId: AccountId, uploadId: UploadId, uploadPartIndex: UploadPartIndex): Promise<ApiResult<UploadPartV2>>;
