/**
 * 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.
 */
/**
 * The permission a User has for a given Entity
 * @export
 * @interface UserEntityPermissions
 */
export interface UserEntityPermissions {
    /**
     * Can the user view this entity?
     * @type {boolean}
     * @memberof UserEntityPermissions
     */
    canView?: boolean;
    /**
     * Can the user edit this entity?
     * @type {boolean}
     * @memberof UserEntityPermissions
     */
    canEdit?: boolean;
    /**
     * Can the user move this entity by changing its parentId?
     * @type {boolean}
     * @memberof UserEntityPermissions
     */
    canMove?: boolean;
    /**
     * Can the user add a child entity to this entity?
     * @type {boolean}
     * @memberof UserEntityPermissions
     */
    canAddChild?: boolean;
    /**
     * Can the user edit this entity once they become a Certified User?
     * @type {boolean}
     * @memberof UserEntityPermissions
     */
    canCertifiedUserEdit?: boolean;
    /**
     * Can the user add a child entity to this entity once they become a Certified User?
     * @type {boolean}
     * @memberof UserEntityPermissions
     */
    canCertifiedUserAddChild?: boolean;
    /**
     * True, if the user has passed the user certification quiz.
     * @type {boolean}
     * @memberof UserEntityPermissions
     */
    isCertifiedUser?: boolean;
    /**
     * Can the user change the permissions of this entity?
     * @type {boolean}
     * @memberof UserEntityPermissions
     */
    canChangePermissions?: boolean;
    /**
     * Can the user change the settings of this entity?
     * @type {boolean}
     * @memberof UserEntityPermissions
     */
    canChangeSettings?: boolean;
    /**
     * Can the user delete this entity?
     * @type {boolean}
     * @memberof UserEntityPermissions
     */
    canDelete?: boolean;
    /**
     * Are there any access requirements precluding the user from downloading this entity?
     * @type {boolean}
     * @memberof UserEntityPermissions
     */
    canDownload?: boolean;
    /**
     * Did the user sign the current terms of service?
     * @type {boolean}
     * @memberof UserEntityPermissions
     */
    canUpload?: boolean;
    /**
     * Can the user delete the entity's access control list (so it inherits settings from an ancestor)?
     * @type {boolean}
     * @memberof UserEntityPermissions
     */
    canEnableInheritance?: boolean;
    /**
     * The principal ID of the entity's owner (i.e. the entity's 'createdBy')
     * @type {number}
     * @memberof UserEntityPermissions
     */
    ownerPrincipalId?: number;
    /**
     * Is this entity considered public?
     * @type {boolean}
     * @memberof UserEntityPermissions
     */
    canPublicRead?: boolean;
    /**
     * Can the user moderate the forum associated with this entity? Note that only project entity has forum.
     * @type {boolean}
     * @memberof UserEntityPermissions
     */
    canModerate?: boolean;
    /**
     * Is the certification requirement enabled for the project of the entity?
     * @type {boolean}
     * @memberof UserEntityPermissions
     */
    isCertificationRequired?: boolean;
    /**
     * Returns true if the Entity's DateType equals 'OPEN_DATA', indicating that the data is safe to be released to the public.
     * @type {boolean}
     * @memberof UserEntityPermissions
     */
    isEntityOpenData?: boolean;
    /**
     * True if the user is considered a data contributor, e.g. has update and delete permissions on the data.
     * @type {boolean}
     * @memberof UserEntityPermissions
     */
    isDataContributor?: boolean;
}
/**
 * Check if a given object implements the UserEntityPermissions interface.
 */
export declare function instanceOfUserEntityPermissions(value: object): value is UserEntityPermissions;
export declare function UserEntityPermissionsFromJSON(json: any): UserEntityPermissions;
export declare function UserEntityPermissionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserEntityPermissions;
export declare function UserEntityPermissionsToJSON(json: any): UserEntityPermissions;
export declare function UserEntityPermissionsToJSONTyped(value?: UserEntityPermissions | null, ignoreDiscriminator?: boolean): any;
