/**
 * 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 { AccessorChange } from './AccessorChange';
/**
 *
 * @export
 * @interface SubmissionSearchResult
 */
export interface SubmissionSearchResult {
    /**
     * The id of the submission
     * @type {string}
     * @memberof SubmissionSearchResult
     */
    id?: string;
    /**
     *
     * @type {string}
     * @memberof SubmissionSearchResult
     */
    createdOn?: string;
    /**
     *
     * @type {string}
     * @memberof SubmissionSearchResult
     */
    modifiedOn?: string;
    /**
     * The id of the access requirement the submission is for
     * @type {string}
     * @memberof SubmissionSearchResult
     */
    accessRequirementId?: string;
    /**
     * The version of the requirement that the submission refers to
     * @type {string}
     * @memberof SubmissionSearchResult
     */
    accessRequirementVersion?: string;
    /**
     * The name of the access requirement
     * @type {string}
     * @memberof SubmissionSearchResult
     */
    accessRequirementName?: string;
    /**
     * The list of principal ids that are allowed to review the submission
     * @type {Array<string>}
     * @memberof SubmissionSearchResult
     */
    accessRequirementReviewerIds?: Array<string>;
    /**
     * The principal ID of the person who created the submission
     * @type {string}
     * @memberof SubmissionSearchResult
     */
    submitterId?: string;
    /**
     * List of user changes. A user can gain access, renew access or have access revoked.
     * @type {Array<AccessorChange>}
     * @memberof SubmissionSearchResult
     */
    accessorChanges?: Array<AccessorChange>;
    /**
     * The state of a Submission.
     * @type {string}
     * @memberof SubmissionSearchResult
     */
    state?: SubmissionSearchResultStateEnum;
}
/**
 * @export
 */
export declare const SubmissionSearchResultStateEnum: {
    readonly SUBMITTED: "SUBMITTED";
    readonly APPROVED: "APPROVED";
    readonly REJECTED: "REJECTED";
    readonly CANCELLED: "CANCELLED";
};
export type SubmissionSearchResultStateEnum = typeof SubmissionSearchResultStateEnum[keyof typeof SubmissionSearchResultStateEnum];
/**
 * Check if a given object implements the SubmissionSearchResult interface.
 */
export declare function instanceOfSubmissionSearchResult(value: object): value is SubmissionSearchResult;
export declare function SubmissionSearchResultFromJSON(json: any): SubmissionSearchResult;
export declare function SubmissionSearchResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubmissionSearchResult;
export declare function SubmissionSearchResultToJSON(json: any): SubmissionSearchResult;
export declare function SubmissionSearchResultToJSONTyped(value?: SubmissionSearchResult | null, ignoreDiscriminator?: boolean): any;
