/**
 * 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 { SubmissionSearchSort } from './SubmissionSearchSort';
/**
 * A request to search through the data access submissions
 * @export
 * @interface SubmissionSearchRequest
 */
export interface SubmissionSearchRequest {
    /**
     * Filter by the id of the principal that is an accessor in the submissions.
     * @type {string}
     * @memberof SubmissionSearchRequest
     */
    accessorId?: string;
    /**
     * Filter by the id of the access requirement of the submissions.
     * @type {string}
     * @memberof SubmissionSearchRequest
     */
    accessRequirementId?: string;
    /**
     * The state of a Submission.
     * @type {string}
     * @memberof SubmissionSearchRequest
     */
    submissionState?: SubmissionSearchRequestSubmissionStateEnum;
    /**
     * A principal ID used to filter submissions whose access requirements can be reviewed by the specific reviewer.
     * @type {string}
     * @memberof SubmissionSearchRequest
     */
    reviewerId?: string;
    /**
     *
     * @type {string}
     * @memberof SubmissionSearchRequest
     */
    reviewerFilterType?: SubmissionSearchRequestReviewerFilterTypeEnum;
    /**
     *
     * @type {Array<SubmissionSearchSort>}
     * @memberof SubmissionSearchRequest
     */
    sort?: Array<SubmissionSearchSort>;
    /**
     * A token used to get the next page of a request.
     * @type {string}
     * @memberof SubmissionSearchRequest
     */
    nextPageToken?: string;
}
/**
 * @export
 */
export declare const SubmissionSearchRequestSubmissionStateEnum: {
    readonly SUBMITTED: "SUBMITTED";
    readonly APPROVED: "APPROVED";
    readonly REJECTED: "REJECTED";
    readonly CANCELLED: "CANCELLED";
};
export type SubmissionSearchRequestSubmissionStateEnum = typeof SubmissionSearchRequestSubmissionStateEnum[keyof typeof SubmissionSearchRequestSubmissionStateEnum];
/**
 * @export
 */
export declare const SubmissionSearchRequestReviewerFilterTypeEnum: {
    readonly ALL: "ALL";
    readonly ACT_ONLY: "ACT_ONLY";
    readonly DELEGATED_ONLY: "DELEGATED_ONLY";
};
export type SubmissionSearchRequestReviewerFilterTypeEnum = typeof SubmissionSearchRequestReviewerFilterTypeEnum[keyof typeof SubmissionSearchRequestReviewerFilterTypeEnum];
/**
 * Check if a given object implements the SubmissionSearchRequest interface.
 */
export declare function instanceOfSubmissionSearchRequest(value: object): value is SubmissionSearchRequest;
export declare function SubmissionSearchRequestFromJSON(json: any): SubmissionSearchRequest;
export declare function SubmissionSearchRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubmissionSearchRequest;
export declare function SubmissionSearchRequestToJSON(json: any): SubmissionSearchRequest;
export declare function SubmissionSearchRequestToJSONTyped(value?: SubmissionSearchRequest | null, ignoreDiscriminator?: boolean): any;
