/**
 * 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 { Reference } from './Reference';
import type { EnvironmentDescriptor } from './EnvironmentDescriptor';
/**
 * This object is deprecated and will be removed in future versions of Synapse.
 * @export
 * @interface ExampleEntity
 */
export interface ExampleEntity {
    /**
     * The name of this entity.  Must be 256 characters or less. Names may only contain: letters, numbers, spaces, underscores, hyphens, periods, plus signs, apostrophes, and parentheses
     * @type {string}
     * @memberof ExampleEntity
     */
    name?: string;
    /**
     * The description of this entity.  Must be 1000 characters or less.
     * @type {string}
     * @memberof ExampleEntity
     */
    description?: string;
    /**
     * The unique immutable ID for this entity.  A new ID will be generated for new Entities.  Once issued, this ID is guaranteed to never change or be re-issued
     * @type {string}
     * @memberof ExampleEntity
     */
    id?: string;
    /**
     * Synapse employs an Optimistic Concurrency Control (OCC) scheme to handle concurrent updates. Since the E-Tag changes every time an entity is updated it is used to detect when a client's current representation of an entity is out-of-date.
     * @type {string}
     * @memberof ExampleEntity
     */
    etag?: string;
    /**
     * The date this entity was created.
     * @type {string}
     * @memberof ExampleEntity
     */
    createdOn?: string;
    /**
     * The date this entity was last modified.
     * @type {string}
     * @memberof ExampleEntity
     */
    modifiedOn?: string;
    /**
     * The ID of the user that created this entity.
     * @type {string}
     * @memberof ExampleEntity
     */
    createdBy?: string;
    /**
     * The ID of the user that last modified this entity.
     * @type {string}
     * @memberof ExampleEntity
     */
    modifiedBy?: string;
    /**
     * The ID of the Entity that is the parent of this Entity.
     * @type {string}
     * @memberof ExampleEntity
     */
    parentId?: string;
    /**
     * Indicates which implementation of Entity this object represents.  The value is the fully qualified class name, e.g. org.sagebionetworks.repo.model.FileEntity.
     * @type {string}
     * @memberof ExampleEntity
     */
    concreteType: ExampleEntityConcreteTypeEnum;
    /**
     * This is an example of a single string
     * @type {string}
     * @memberof ExampleEntity
     */
    singleString?: string;
    /**
     * This is an example of a list of strings
     * @type {Array<string>}
     * @memberof ExampleEntity
     */
    stringList?: Array<string>;
    /**
     * This is an example of a single date
     * @type {string}
     * @memberof ExampleEntity
     */
    singleDate?: string;
    /**
     * This is an example of a list of dates
     * @type {Array<string>}
     * @memberof ExampleEntity
     */
    dateList?: Array<string>;
    /**
     * This is an example of a single Double
     * @type {number}
     * @memberof ExampleEntity
     */
    singleDouble?: number;
    /**
     * This is an example of a double list
     * @type {Array<number>}
     * @memberof ExampleEntity
     */
    doubleList?: Array<number>;
    /**
     * This is an example of a single Integer
     * @type {number}
     * @memberof ExampleEntity
     */
    singleInteger?: number;
    /**
     * This is an example of an Integer List.
     * @type {Array<number>}
     * @memberof ExampleEntity
     */
    integerList?: Array<number>;
    /**
     * Type of tissue for the samples in this layer. <skos:altLabel>Tissue Types</skos:altLabel> Tissue is described by the Synapse ontology concept: http://synapse.sagebase.org/ontology#6501
     * @type {string}
     * @memberof ExampleEntity
     */
    concept?: string;
    /**
     * The property is constrained by an enumeration
     * @type {string}
     * @memberof ExampleEntity
     */
    someEnum?: ExampleEntitySomeEnumEnum;
    /**
     * References
     * @type {Set<Reference>}
     * @memberof ExampleEntity
     */
    references?: Set<Reference>;
    /**
     * The list of environment descriptors
     * @type {Set<EnvironmentDescriptor>}
     * @memberof ExampleEntity
     */
    environmentDescriptors?: Set<EnvironmentDescriptor>;
}
/**
 * @export
 */
export declare const ExampleEntityConcreteTypeEnum: {
    readonly org_sagebionetworks_repo_model_ExampleEntity: "org.sagebionetworks.repo.model.ExampleEntity";
};
export type ExampleEntityConcreteTypeEnum = typeof ExampleEntityConcreteTypeEnum[keyof typeof ExampleEntityConcreteTypeEnum];
/**
 * @export
 */
export declare const ExampleEntitySomeEnumEnum: {
    readonly CAT: "CAT";
    readonly DOG: "DOG";
    readonly FISH: "FISH";
};
export type ExampleEntitySomeEnumEnum = typeof ExampleEntitySomeEnumEnum[keyof typeof ExampleEntitySomeEnumEnum];
/**
 * Check if a given object implements the ExampleEntity interface.
 */
export declare function instanceOfExampleEntity(value: object): value is ExampleEntity;
export declare function ExampleEntityFromJSON(json: any): ExampleEntity;
export declare function ExampleEntityFromJSONTyped(json: any, ignoreDiscriminator: boolean): ExampleEntity;
export declare function ExampleEntityToJSON(json: any): ExampleEntity;
export declare function ExampleEntityToJSONTyped(value?: ExampleEntity | null, ignoreDiscriminator?: boolean): any;
