/* tslint:disable */
/* eslint-disable */
/**
 * chomestatus API
 * The API for chromestatus.com. chromestatus.com is the official tool used for tracking feature launches in Blink (the browser engine that powers Chrome and many other web browsers). This tool guides feature owners through our launch process and serves as a primary source for developer information that then ripples throughout the web developer ecosystem. More details at: https://github.com/GoogleChrome/chromium-dashboard
 *
 * The version of the OpenAPI document: 1.0.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

import { mapValues } from '../runtime';
/**
 * Payload for updating the curation review status or assigned curators for a milestone.
 * @export
 * @interface MilestoneCurationPatchRequest
 */
export interface MilestoneCurationPatchRequest {
    /**
     * Updated editorial review status for the milestone. Null if status is unchanged:
     * - PENDING: Milestone curation reset to un-started.
     * - IN_REVIEW: Milestone curation marked under active review.
     * - COMPLETED: Marks milestone curation completed and populates last_reviewed timestamp.
     * 
     * @type {string}
     * @memberof MilestoneCurationPatchRequest
     */
    status?: MilestoneCurationPatchRequestStatusEnum;
    /**
     * Updated list of assigned curator email addresses.
     * @type {Array<string>}
     * @memberof MilestoneCurationPatchRequest
     */
    curator_emails?: Array<string>;
}


/**
 * @export
 */
export const MilestoneCurationPatchRequestStatusEnum = {
    PENDING: 'PENDING',
    IN_REVIEW: 'IN_REVIEW',
    COMPLETED: 'COMPLETED'
} as const;
export type MilestoneCurationPatchRequestStatusEnum = typeof MilestoneCurationPatchRequestStatusEnum[keyof typeof MilestoneCurationPatchRequestStatusEnum];


/**
 * Check if a given object implements the MilestoneCurationPatchRequest interface.
 */
export function instanceOfMilestoneCurationPatchRequest(value: object): value is MilestoneCurationPatchRequest {
    return true;
}

export function MilestoneCurationPatchRequestFromJSON(json: any): MilestoneCurationPatchRequest {
    return MilestoneCurationPatchRequestFromJSONTyped(json, false);
}

export function MilestoneCurationPatchRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): MilestoneCurationPatchRequest {
    if (json == null) {
        return json;
    }
    return {
        
        'status': json['status'] == null ? undefined : json['status'],
        'curator_emails': json['curator_emails'] == null ? undefined : json['curator_emails'],
    };
}

export function MilestoneCurationPatchRequestToJSON(value?: MilestoneCurationPatchRequest | null): any {
    if (value == null) {
        return value;
    }
    return {
        
        'status': value['status'],
        'curator_emails': value['curator_emails'],
    };
}

