/**
 * 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.
 */
import type { TableQuery } from './TableQuery';
/**
 * Start an asynchronous job to add files from the given view query or folder to the user's download list,
 * @export
 * @interface AddToDownloadListRequest
 */
export interface AddToDownloadListRequest {
    /**
     *
     * @type {string}
     * @memberof AddToDownloadListRequest
     */
    concreteType: AddToDownloadListRequestConcreteTypeEnum;
    /**
     *
     * @type {TableQuery}
     * @memberof AddToDownloadListRequest
     */
    query?: TableQuery;
    /**
     * The synID of a folder, project, dataset or dataset collection to add all of the children files to the user's download list.  This parameter should be excluded when adding files from a query. Note: This is not recursive, unless the recursive property is set to true.
     * @type {string}
     * @memberof AddToDownloadListRequest
     */
    parentId?: string;
    /**
     * When the parentId is specified and this property is set to true all the files in a folder or project will be added to the user's download list, including files contained in sub-folders. When set to false (default) only the direct children of the provided parentId will be added to the download list. Note: the property cannot be true when a query is specified or when the parentId is a dataset.
     * @type {boolean}
     * @memberof AddToDownloadListRequest
     */
    recursive?: boolean;
    /**
     * When true (default), the version number will be included for each file added to the user's download list.  When set to false, the version number will be excluded, indicating that the 'current' version should always be downloaded.
     * @type {boolean}
     * @memberof AddToDownloadListRequest
     */
    useVersionNumber?: boolean;
}
/**
 * @export
 */
export declare const AddToDownloadListRequestConcreteTypeEnum: {
    readonly org_sagebionetworks_repo_model_download_AddToDownloadListRequest: "org.sagebionetworks.repo.model.download.AddToDownloadListRequest";
};
export type AddToDownloadListRequestConcreteTypeEnum = typeof AddToDownloadListRequestConcreteTypeEnum[keyof typeof AddToDownloadListRequestConcreteTypeEnum];
/**
 * Check if a given object implements the AddToDownloadListRequest interface.
 */
export declare function instanceOfAddToDownloadListRequest(value: object): value is AddToDownloadListRequest;
export declare function AddToDownloadListRequestFromJSON(json: any): AddToDownloadListRequest;
export declare function AddToDownloadListRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddToDownloadListRequest;
export declare function AddToDownloadListRequestToJSON(json: any): AddToDownloadListRequest;
export declare function AddToDownloadListRequestToJSONTyped(value?: AddToDownloadListRequest | null, ignoreDiscriminator?: boolean): any;
