/**
 * 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.
 */
/**
 * File event for file upload and download events
 * @export
 * @interface FileEvent
 */
export interface FileEvent {
    /**
     *
     * @type {string}
     * @memberof FileEvent
     */
    concreteType: FileEventConcreteTypeEnum;
    /**
     * The unique identifier of the object that changed.
     * @type {string}
     * @memberof FileEvent
     */
    objectId?: string;
    /**
     * Identifier for a specific version of an object.
     * @type {number}
     * @memberof FileEvent
     */
    objectVersion?: number;
    /**
     * JSON enum for the types of objects in Synapse.
     * @type {string}
     * @memberof FileEvent
     */
    objectType?: FileEventObjectTypeEnum;
    /**
     * The timestamp when this change was originally committed.
     * @type {string}
     * @memberof FileEvent
     */
    timestamp?: string;
    /**
     * The file event can be one of the following enumerations
     * @type {string}
     * @memberof FileEvent
     */
    fileEventType?: FileEventFileEventTypeEnum;
    /**
     * The Id of user who initiated the file event.
     * @type {number}
     * @memberof FileEvent
     */
    userId?: number;
    /**
     * The filehandle Id of file.
     * @type {string}
     * @memberof FileEvent
     */
    fileHandleId?: string;
    /**
     * The zipped filehandle Id, If the file download is requested in zip file otherwise not applicable.
     * @type {string}
     * @memberof FileEvent
     */
    downloadedFileHandleId?: string;
    /**
     * Enumeration of all possible objects types that can be associated with a file.
     * @type {string}
     * @memberof FileEvent
     */
    associateType?: FileEventAssociateTypeEnum;
    /**
     * The association Id of filehandle.
     * @type {string}
     * @memberof FileEvent
     */
    associateId?: string;
    /**
     * The stack number.
     * @type {string}
     * @memberof FileEvent
     */
    stack?: string;
    /**
     * The instance number.
     * @type {string}
     * @memberof FileEvent
     */
    instance?: string;
    /**
     * The session ID from the access record associated with this event.  When present, can be used to join access records with download records.
     * @type {string}
     * @memberof FileEvent
     */
    sessionId?: string;
}
/**
 * @export
 */
export declare const FileEventConcreteTypeEnum: {
    readonly org_sagebionetworks_repo_model_file_FileEvent: "org.sagebionetworks.repo.model.file.FileEvent";
};
export type FileEventConcreteTypeEnum = typeof FileEventConcreteTypeEnum[keyof typeof FileEventConcreteTypeEnum];
/**
 * @export
 */
export declare const FileEventObjectTypeEnum: {
    readonly ENTITY: "ENTITY";
    readonly ENTITY_CONTAINER: "ENTITY_CONTAINER";
    readonly PRINCIPAL: "PRINCIPAL";
    readonly ACTIVITY: "ACTIVITY";
    readonly EVALUATION: "EVALUATION";
    readonly EVALUATION_ROUND: "EVALUATION_ROUND";
    readonly SUBMISSION: "SUBMISSION";
    readonly EVALUATION_SUBMISSIONS: "EVALUATION_SUBMISSIONS";
    readonly FILE: "FILE";
    readonly MESSAGE: "MESSAGE";
    readonly WIKI: "WIKI";
    readonly FAVORITE: "FAVORITE";
    readonly ACCESS_REQUIREMENT: "ACCESS_REQUIREMENT";
    readonly ACCESS_APPROVAL: "ACCESS_APPROVAL";
    readonly TEAM: "TEAM";
    readonly TABLE: "TABLE";
    readonly ACCESS_CONTROL_LIST: "ACCESS_CONTROL_LIST";
    readonly PROJECT_SETTING: "PROJECT_SETTING";
    readonly VERIFICATION_SUBMISSION: "VERIFICATION_SUBMISSION";
    readonly CERTIFIED_USER_PASSING_RECORD: "CERTIFIED_USER_PASSING_RECORD";
    readonly FORUM: "FORUM";
    readonly THREAD: "THREAD";
    readonly REPLY: "REPLY";
    readonly FORM_GROUP: "FORM_GROUP";
    readonly ORGANIZATION: "ORGANIZATION";
    readonly FORM_DATA: "FORM_DATA";
    readonly ENTITY_VIEW: "ENTITY_VIEW";
    readonly USER_PROFILE: "USER_PROFILE";
    readonly DATA_ACCESS_REQUEST: "DATA_ACCESS_REQUEST";
    readonly DATA_ACCESS_SUBMISSION: "DATA_ACCESS_SUBMISSION";
    readonly DATA_ACCESS_SUBMISSION_STATUS: "DATA_ACCESS_SUBMISSION_STATUS";
    readonly MEMBERSHIP_INVITATION: "MEMBERSHIP_INVITATION";
    readonly JSON_SCHEMA: "JSON_SCHEMA";
    readonly JSON_SCHEMA_DEPENDANT: "JSON_SCHEMA_DEPENDANT";
    readonly DATASET: "DATASET";
    readonly DATASET_COLLECTION: "DATASET_COLLECTION";
    readonly THREAD_VIEW: "THREAD_VIEW";
    readonly MATERIALIZED_VIEW: "MATERIALIZED_VIEW";
    readonly VIRTUAL_TABLE: "VIRTUAL_TABLE";
    readonly TABLE_STATUS_EVENT: "TABLE_STATUS_EVENT";
    readonly DATA_ACCESS_SUBMISSION_EVENT: "DATA_ACCESS_SUBMISSION_EVENT";
    readonly FILE_EVENT: "FILE_EVENT";
    readonly QUERY_CACHE_HIT: "QUERY_CACHE_HIT";
    readonly PROJECT_STORAGE_EVENT: "PROJECT_STORAGE_EVENT";
    readonly REPLICATED_EVENT: "REPLICATED_EVENT";
    readonly PORTAL: "PORTAL";
    readonly OAUTH_CLIENT: "OAUTH_CLIENT";
    readonly GRID_SESSION: "GRID_SESSION";
    readonly RECORDSET: "RECORDSET";
    readonly SEARCH_INDEX: "SEARCH_INDEX";
    readonly SOURCE_DEPENDENCY_EVENT: "SOURCE_DEPENDENCY_EVENT";
};
export type FileEventObjectTypeEnum = typeof FileEventObjectTypeEnum[keyof typeof FileEventObjectTypeEnum];
/**
 * @export
 */
export declare const FileEventFileEventTypeEnum: {
    readonly FILE_DOWNLOAD: "FILE_DOWNLOAD";
    readonly FILE_UPLOAD: "FILE_UPLOAD";
};
export type FileEventFileEventTypeEnum = typeof FileEventFileEventTypeEnum[keyof typeof FileEventFileEventTypeEnum];
/**
 * @export
 */
export declare const FileEventAssociateTypeEnum: {
    readonly FileEntity: "FileEntity";
    readonly TableEntity: "TableEntity";
    readonly WikiAttachment: "WikiAttachment";
    readonly WikiMarkdown: "WikiMarkdown";
    readonly UserProfileAttachment: "UserProfileAttachment";
    readonly MessageAttachment: "MessageAttachment";
    readonly TeamAttachment: "TeamAttachment";
    readonly SubmissionAttachment: "SubmissionAttachment";
    readonly VerificationSubmission: "VerificationSubmission";
    readonly AccessRequirementAttachment: "AccessRequirementAttachment";
    readonly DataAccessRequestAttachment: "DataAccessRequestAttachment";
    readonly DataAccessSubmissionAttachment: "DataAccessSubmissionAttachment";
    readonly FormData: "FormData";
};
export type FileEventAssociateTypeEnum = typeof FileEventAssociateTypeEnum[keyof typeof FileEventAssociateTypeEnum];
/**
 * Check if a given object implements the FileEvent interface.
 */
export declare function instanceOfFileEvent(value: object): value is FileEvent;
export declare function FileEventFromJSON(json: any): FileEvent;
export declare function FileEventFromJSONTyped(json: any, ignoreDiscriminator: boolean): FileEvent;
export declare function FileEventToJSON(json: any): FileEvent;
export declare function FileEventToJSONTyped(value?: FileEvent | null, ignoreDiscriminator?: boolean): any;
