/* tslint:disable */
/* eslint-disable */
/**
 * AskNews API
 * AskNews API [![status](https://status.asknews.app/api/badge/2/status?style=for-the-badge)](https://status.asknews.app/status/prod)
 *
 * The version of the OpenAPI document: 0.24.66
 * Contact: contact@emergentmethods.ai
 *
 * 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';
import type { StoryResponse } from './StoryResponse';
import {
    StoryResponseFromJSON,
    StoryResponseFromJSONTyped,
    StoryResponseToJSON,
    StoryResponseToJSONTyped,
} from './StoryResponse';
import type { Offset5 } from './Offset5';
import {
    Offset5FromJSON,
    Offset5FromJSONTyped,
    Offset5ToJSON,
    Offset5ToJSONTyped,
} from './Offset5';

/**
 * 
 * @export
 * @interface StoriesResponse
 */
export interface StoriesResponse {
    /**
     * 
     * @type {Array<StoryResponse>}
     * @memberof StoriesResponse
     */
    stories: Array<StoryResponse>;
    /**
     * 
     * @type {Offset5}
     * @memberof StoriesResponse
     */
    offset: Offset5;
}

/**
 * Check if a given object implements the StoriesResponse interface.
 */
export function instanceOfStoriesResponse(value: object): value is StoriesResponse {
    if (!('stories' in value) || value['stories'] === undefined) return false;
    if (!('offset' in value) || value['offset'] === undefined) return false;
    return true;
}

export function StoriesResponseFromJSON(json: any): StoriesResponse {
    return StoriesResponseFromJSONTyped(json, false);
}

export function StoriesResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): StoriesResponse {
    if (json == null) {
        return json;
    }
    return {
        
        'stories': ((json['stories'] as Array<any>).map(StoryResponseFromJSON)),
        'offset': Offset5FromJSON(json['offset']),
    };
}

export function StoriesResponseToJSON(json: any): StoriesResponse {
    return StoriesResponseToJSONTyped(json, false);
}

export function StoriesResponseToJSONTyped(value?: StoriesResponse | null, ignoreDiscriminator: boolean = false): any {
    if (value == null) {
        return value;
    }

    return {
        
        'stories': ((value['stories'] as Array<any>).map(StoryResponseToJSON)),
        'offset': Offset5ToJSON(value['offset']),
    };
}

