/**
 * 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 { AccessApproval } from './AccessApproval';
/**
 * The result item in a User Data Access Submission Search
 * @export
 * @interface UserSubmissionSearchResult
 */
export interface UserSubmissionSearchResult {
    /**
     * The id of the submission
     * @type {string}
     * @memberof UserSubmissionSearchResult
     */
    id?: string;
    /**
     *
     * @type {string}
     * @memberof UserSubmissionSearchResult
     */
    createdOn?: string;
    /**
     *
     * @type {string}
     * @memberof UserSubmissionSearchResult
     */
    modifiedOn?: string;
    /**
     * The id of the access requirement the submission is for
     * @type {string}
     * @memberof UserSubmissionSearchResult
     */
    accessRequirementId?: string;
    /**
     * The version of the requirement that the submission refers to
     * @type {string}
     * @memberof UserSubmissionSearchResult
     */
    accessRequirementVersion?: string;
    /**
     * The name of the access requirement
     * @type {string}
     * @memberof UserSubmissionSearchResult
     */
    accessRequirementName?: string;
    /**
     * The principal ID of the person who created the submission
     * @type {string}
     * @memberof UserSubmissionSearchResult
     */
    submitterId?: string;
    /**
     * The state of a Submission.
     * @type {string}
     * @memberof UserSubmissionSearchResult
     */
    state?: UserSubmissionSearchResultStateEnum;
    /**
     *
     * @type {AccessApproval}
     * @memberof UserSubmissionSearchResult
     */
    userAccessApproval?: AccessApproval;
}
/**
 * @export
 */
export declare const UserSubmissionSearchResultStateEnum: {
    readonly SUBMITTED: "SUBMITTED";
    readonly APPROVED: "APPROVED";
    readonly REJECTED: "REJECTED";
    readonly CANCELLED: "CANCELLED";
};
export type UserSubmissionSearchResultStateEnum = typeof UserSubmissionSearchResultStateEnum[keyof typeof UserSubmissionSearchResultStateEnum];
/**
 * Check if a given object implements the UserSubmissionSearchResult interface.
 */
export declare function instanceOfUserSubmissionSearchResult(value: object): value is UserSubmissionSearchResult;
export declare function UserSubmissionSearchResultFromJSON(json: any): UserSubmissionSearchResult;
export declare function UserSubmissionSearchResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserSubmissionSearchResult;
export declare function UserSubmissionSearchResultToJSON(json: any): UserSubmissionSearchResult;
export declare function UserSubmissionSearchResultToJSONTyped(value?: UserSubmissionSearchResult | null, ignoreDiscriminator?: boolean): any;
