/**
 * 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 { AccessRequirementSearchSort } from './AccessRequirementSearchSort';
/**
 * Describes the parameters for searching Access Requirements
 * @export
 * @interface AccessRequirementSearchRequest
 */
export interface AccessRequirementSearchRequest {
    /**
     * Optional substring used to filter Access Requirements by name
     * @type {string}
     * @memberof AccessRequirementSearchRequest
     */
    nameContains?: string;
    /**
     * Optional list of ids used to filter access requirements with specific ids.
     * @type {Array<number>}
     * @memberof AccessRequirementSearchRequest
     */
    ids?: Array<number>;
    /**
     * Optional id used to filter Access Requirements to retrieve only those that have been applied within a particular project.
     * @type {string}
     * @memberof AccessRequirementSearchRequest
     */
    relatedProjectId?: string;
    /**
     * Optional principal ID used to filter Access Requirements to retrieve only those that can be reviewed by the specific reviewer.
     * @type {string}
     * @memberof AccessRequirementSearchRequest
     */
    reviewerId?: string;
    /**
     * The enumeration of possible permission.
     * @type {string}
     * @memberof AccessRequirementSearchRequest
     */
    accessType?: AccessRequirementSearchRequestAccessTypeEnum;
    /**
     * Optional filter by the access requirement fully qualified concrete type (e.g. org.sagebionetworks.repo.model.ManagedACTAccessRequirement)
     * @type {string}
     * @memberof AccessRequirementSearchRequest
     */
    type?: string;
    /**
     *
     * @type {Array<AccessRequirementSearchSort>}
     * @memberof AccessRequirementSearchRequest
     */
    sort?: Array<AccessRequirementSearchSort>;
    /**
     * A token used to get the next page of a particular search query.
     * @type {string}
     * @memberof AccessRequirementSearchRequest
     */
    nextPageToken?: string;
}
/**
 * @export
 */
export declare const AccessRequirementSearchRequestAccessTypeEnum: {
    readonly CREATE: "CREATE";
    readonly READ: "READ";
    readonly UPDATE: "UPDATE";
    readonly DELETE: "DELETE";
    readonly CHANGE_PERMISSIONS: "CHANGE_PERMISSIONS";
    readonly DOWNLOAD: "DOWNLOAD";
    readonly UPLOAD: "UPLOAD";
    readonly PARTICIPATE: "PARTICIPATE";
    readonly SUBMIT: "SUBMIT";
    readonly READ_PRIVATE_SUBMISSION: "READ_PRIVATE_SUBMISSION";
    readonly UPDATE_SUBMISSION: "UPDATE_SUBMISSION";
    readonly DELETE_SUBMISSION: "DELETE_SUBMISSION";
    readonly TEAM_MEMBERSHIP_UPDATE: "TEAM_MEMBERSHIP_UPDATE";
    readonly SEND_MESSAGE: "SEND_MESSAGE";
    readonly CHANGE_SETTINGS: "CHANGE_SETTINGS";
    readonly MODERATE: "MODERATE";
    readonly REVIEW_SUBMISSIONS: "REVIEW_SUBMISSIONS";
    readonly EXEMPTION_ELIGIBLE: "EXEMPTION_ELIGIBLE";
};
export type AccessRequirementSearchRequestAccessTypeEnum = typeof AccessRequirementSearchRequestAccessTypeEnum[keyof typeof AccessRequirementSearchRequestAccessTypeEnum];
/**
 * Check if a given object implements the AccessRequirementSearchRequest interface.
 */
export declare function instanceOfAccessRequirementSearchRequest(value: object): value is AccessRequirementSearchRequest;
export declare function AccessRequirementSearchRequestFromJSON(json: any): AccessRequirementSearchRequest;
export declare function AccessRequirementSearchRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccessRequirementSearchRequest;
export declare function AccessRequirementSearchRequestToJSON(json: any): AccessRequirementSearchRequest;
export declare function AccessRequirementSearchRequestToJSONTyped(value?: AccessRequirementSearchRequest | null, ignoreDiscriminator?: boolean): any;
