/**
 * 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 { RestrictionFulfillment } from './RestrictionFulfillment';
import type { UserEntityPermissions } from './UserEntityPermissions';
/**
 * The information about restriction level on a restrict-able object.
 * @export
 * @interface RestrictionInformationResponse
 */
export interface RestrictionInformationResponse {
    /**
     * The id of the restrictable object
     * @type {number}
     * @memberof RestrictionInformationResponse
     */
    objectId?: number;
    /**
     *
     * @type {string}
     * @memberof RestrictionInformationResponse
     */
    restrictionLevel?: RestrictionInformationResponseRestrictionLevelEnum;
    /**
     * True if user has at least one unmet access requirement on this restrict-able object; false otherwise.
     * @type {boolean}
     * @memberof RestrictionInformationResponse
     */
    hasUnmetAccessRequirement?: boolean;
    /**
     *
     * @type {UserEntityPermissions}
     * @memberof RestrictionInformationResponse
     */
    userEntityPermissions?: UserEntityPermissions;
    /**
     * The list of restriction fulfillment information for each access requirement that applies to the restrictable object.
     * @type {Array<RestrictionFulfillment>}
     * @memberof RestrictionInformationResponse
     */
    restrictionDetails?: Array<RestrictionFulfillment>;
}
/**
 * @export
 */
export declare const RestrictionInformationResponseRestrictionLevelEnum: {
    readonly OPEN: "OPEN";
    readonly RESTRICTED_BY_TERMS_OF_USE: "RESTRICTED_BY_TERMS_OF_USE";
    readonly CONTROLLED_BY_ACT: "CONTROLLED_BY_ACT";
};
export type RestrictionInformationResponseRestrictionLevelEnum = typeof RestrictionInformationResponseRestrictionLevelEnum[keyof typeof RestrictionInformationResponseRestrictionLevelEnum];
/**
 * Check if a given object implements the RestrictionInformationResponse interface.
 */
export declare function instanceOfRestrictionInformationResponse(value: object): value is RestrictionInformationResponse;
export declare function RestrictionInformationResponseFromJSON(json: any): RestrictionInformationResponse;
export declare function RestrictionInformationResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RestrictionInformationResponse;
export declare function RestrictionInformationResponseToJSON(json: any): RestrictionInformationResponse;
export declare function RestrictionInformationResponseToJSONTyped(value?: RestrictionInformationResponse | null, ignoreDiscriminator?: boolean): any;
