/**
 * 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.
 */
/**
 * This setting type contains the list of upload locations for files in a project. Each id in the locations attribute points to an existing <a href="${org.sagebionetworks.repo.model.project.StorageLocationSetting}">StorageLocationSetting</a>. The maximum number of storage locations that can be stored for a project is 10.
 * @export
 * @interface UploadDestinationListSetting
 */
export interface UploadDestinationListSetting {
    /**
     * Indicates which implementation this object represents.
     * @type {string}
     * @memberof UploadDestinationListSetting
     */
    concreteType: UploadDestinationListSettingConcreteTypeEnum;
    /**
     * The unique ID assigned to this setting
     * @type {string}
     * @memberof UploadDestinationListSetting
     */
    id?: string;
    /**
     * The ID for the project this setting applies to
     * @type {string}
     * @memberof UploadDestinationListSetting
     */
    projectId?: string;
    /**
     * The enumeration of project setting types.
     * @type {string}
     * @memberof UploadDestinationListSetting
     */
    settingsType?: UploadDestinationListSettingSettingsTypeEnum;
    /**
     * Synapse employs an Optimistic Concurrency Control (OCC) scheme to handle concurrent updates. Since the E-Tag changes every time a Project Setting is updated it is used to detect when a client's current representation of a Project Setting is out-of-date.
     * @type {string}
     * @memberof UploadDestinationListSetting
     */
    etag?: string;
    /**
     * List of ids pointing to <a href="${org.sagebionetworks.repo.model.project.StorageLocationSetting}">StorageLocationSetting</a>. The first one in the list is the default location; The maximum number of storage locations for a project is limited to 10.
     * @type {Array<number>}
     * @memberof UploadDestinationListSetting
     */
    locations?: Array<number>;
}
/**
 * @export
 */
export declare const UploadDestinationListSettingConcreteTypeEnum: {
    readonly org_sagebionetworks_repo_model_project_UploadDestinationListSetting: "org.sagebionetworks.repo.model.project.UploadDestinationListSetting";
};
export type UploadDestinationListSettingConcreteTypeEnum = typeof UploadDestinationListSettingConcreteTypeEnum[keyof typeof UploadDestinationListSettingConcreteTypeEnum];
/**
 * @export
 */
export declare const UploadDestinationListSettingSettingsTypeEnum: {
    readonly upload: "upload";
};
export type UploadDestinationListSettingSettingsTypeEnum = typeof UploadDestinationListSettingSettingsTypeEnum[keyof typeof UploadDestinationListSettingSettingsTypeEnum];
/**
 * Check if a given object implements the UploadDestinationListSetting interface.
 */
export declare function instanceOfUploadDestinationListSetting(value: object): value is UploadDestinationListSetting;
export declare function UploadDestinationListSettingFromJSON(json: any): UploadDestinationListSetting;
export declare function UploadDestinationListSettingFromJSONTyped(json: any, ignoreDiscriminator: boolean): UploadDestinationListSetting;
export declare function UploadDestinationListSettingToJSON(json: any): UploadDestinationListSetting;
export declare function UploadDestinationListSettingToJSONTyped(value?: UploadDestinationListSetting | null, ignoreDiscriminator?: boolean): any;
