/**
 * Synapse REST API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 * Request to start or continue a multi-part file upload.
 * @export
 * @interface MultipartUploadRequest
 */
export interface MultipartUploadRequest {
    /**
     * Indicates which type of multi-part request to initiate. Currently supports <a href="${org.sagebionetworks.repo.model.file.MultipartUploadRequest}">MultipartUploadRequest</a> and <a href="${org.sagebionetworks.repo.model.file.MultipartUploadCopyRequest}">MultipartUploadCopyRequest</a>
     * @type {string}
     * @memberof MultipartUploadRequest
     */
    concreteType: MultipartUploadRequestConcreteTypeEnum;
    /**
     * In order to upload a file, the client must split the process into 'parts' and upload each part separately. This indicates the clients intended part size in bytes. Part size must be at least 5,242,880 bytes (5MB) with a max of 5,368,709,120 bytes (5GB). Also the maximum number of parts for a single file is 10K. The recommended part size for a single file upload should be: MAX(5242880, (fileSizeBytes/10000)).
     * @type {number}
     * @memberof MultipartUploadRequest
     */
    partSizeBytes?: number;
    /**
     * The name of the file to be uploaded.
     * @type {string}
     * @memberof MultipartUploadRequest
     */
    fileName?: string;
    /**
     * The identifier of the storage location where this file should be stored.  A value of null indicates the default synapse storage.
     * @type {number}
     * @memberof MultipartUploadRequest
     */
    storageLocationId?: number;
    /**
     * Optional parameter.  When set to 'false' a preview will not be generated for the resulting file.
     * @type {boolean}
     * @memberof MultipartUploadRequest
     */
    generatePreview?: boolean;
    /**
     * The MD5 of the entire file to be uploaded represented as a HEX string.
     * @type {string}
     * @memberof MultipartUploadRequest
     */
    contentMD5Hex?: string;
    /**
     * The content type of the file.
     * @type {string}
     * @memberof MultipartUploadRequest
     */
    contentType?: string;
    /**
     * The size of the entire file in bytes.
     * @type {number}
     * @memberof MultipartUploadRequest
     */
    fileSizeBytes?: number;
}
/**
 * @export
 */
export declare const MultipartUploadRequestConcreteTypeEnum: {
    readonly org_sagebionetworks_repo_model_file_MultipartUploadRequest: "org.sagebionetworks.repo.model.file.MultipartUploadRequest";
};
export type MultipartUploadRequestConcreteTypeEnum = typeof MultipartUploadRequestConcreteTypeEnum[keyof typeof MultipartUploadRequestConcreteTypeEnum];
/**
 * Check if a given object implements the MultipartUploadRequest interface.
 */
export declare function instanceOfMultipartUploadRequest(value: object): value is MultipartUploadRequest;
export declare function MultipartUploadRequestFromJSON(json: any): MultipartUploadRequest;
export declare function MultipartUploadRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): MultipartUploadRequest;
export declare function MultipartUploadRequestToJSON(json: any): MultipartUploadRequest;
export declare function MultipartUploadRequestToJSONTyped(value?: MultipartUploadRequest | null, ignoreDiscriminator?: boolean): any;
