/**
 * 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 { SigningOfficial } from './SigningOfficial';
import type { AccessorChange } from './AccessorChange';
import type { PrincipalInvestigator } from './PrincipalInvestigator';
/**
 * A Renewal contains information required by an AccessRequirement and additional information about renewing a request.
 * @export
 * @interface Renewal
 */
export interface Renewal {
    /**
     * The unique immutable ID for this request. A new ID will be generated for new Request. Once issued, this ID is guaranteed to never change or be re-issued.
     * @type {string}
     * @memberof Renewal
     */
    id?: string;
    /**
     * The ID of the Access Requirement which requires a request to be submitted to gain access to a dataset. This request contains information that satisfies those requirements.
     * @type {string}
     * @memberof Renewal
     */
    accessRequirementId?: string;
    /**
     * The ID of the research project associated with this request.
     * @type {string}
     * @memberof Renewal
     */
    researchProjectId?: string;
    /**
     * The date this request was created.
     * @type {string}
     * @memberof Renewal
     */
    createdOn?: string;
    /**
     * The date this request was last modified.
     * @type {string}
     * @memberof Renewal
     */
    modifiedOn?: string;
    /**
     * The ID of the user that created this request.
     * @type {string}
     * @memberof Renewal
     */
    createdBy?: string;
    /**
     * The ID of the user that last modified this request.
     * @type {string}
     * @memberof Renewal
     */
    modifiedBy?: string;
    /**
     * The Data Use Certificate uploaded by user.
     * @type {string}
     * @memberof Renewal
     */
    ducFileHandleId?: string;
    /**
     * The Institutional Review Board Approval document uploaded by user.
     * @type {string}
     * @memberof Renewal
     */
    irbFileHandleId?: string;
    /**
     * The set of file handle ID of attached files to this request.
     * @type {Array<string>}
     * @memberof Renewal
     */
    attachments?: Array<string>;
    /**
     * List of user changes. A user can gain access, renew access or have access revoked.
     * @type {Array<AccessorChange>}
     * @memberof Renewal
     */
    accessorChanges?: Array<AccessorChange>;
    /**
     * Synapse employs an Optimistic Concurrency Control (OCC) scheme to handle concurrent updates. Since the E-Tag changes every time a request is updated it is used to detect when a client's current representation of a request is out-of-date.
     * @type {string}
     * @memberof Renewal
     */
    etag?: string;
    /**
     * Indicates which implementation of RequestInterface this object represents.
     * @type {string}
     * @memberof Renewal
     */
    concreteType: RenewalConcreteTypeEnum;
    /**
     * The name of the institution where the collaborators work.
     * @type {string}
     * @memberof Renewal
     */
    institution?: string;
    /**
     *
     * @type {PrincipalInvestigator}
     * @memberof Renewal
     */
    principalInvestigator?: PrincipalInvestigator;
    /**
     *
     * @type {SigningOfficial}
     * @memberof Renewal
     */
    signingOfficial?: SigningOfficial;
    /**
     * The envelope ID for the routed eDUC signature document.
     * @type {string}
     * @memberof Renewal
     */
    eDucSignatureEnvelopeId?: string;
    /**
     * Link(s) to publication that used the controlled data.
     * @type {string}
     * @memberof Renewal
     */
    publication?: string;
    /**
     * Summary of how the data has been used.
     * @type {string}
     * @memberof Renewal
     */
    summaryOfUse?: string;
}
/**
 * @export
 */
export declare const RenewalConcreteTypeEnum: {
    readonly org_sagebionetworks_repo_model_dataaccess_Renewal: "org.sagebionetworks.repo.model.dataaccess.Renewal";
};
export type RenewalConcreteTypeEnum = typeof RenewalConcreteTypeEnum[keyof typeof RenewalConcreteTypeEnum];
/**
 * Check if a given object implements the Renewal interface.
 */
export declare function instanceOfRenewal(value: object): value is Renewal;
export declare function RenewalFromJSON(json: any): Renewal;
export declare function RenewalFromJSONTyped(json: any, ignoreDiscriminator: boolean): Renewal;
export declare function RenewalToJSON(json: any): Renewal;
export declare function RenewalToJSONTyped(value?: Renewal | null, ignoreDiscriminator?: boolean): any;
