/**
 * 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 type { Assets } from './Assets';
import type { Classification } from './Classification';
import type { AsknewsApiSchemaV1CommonGraphRelationships } from './AsknewsApiSchemaV1CommonGraphRelationships';
import type { Author } from './Author';
import type { GeoCoordinate } from './GeoCoordinate';
import type { ReportingVoice1 } from './ReportingVoice1';
import type { Entities } from './Entities';
/**
 *
 * @export
 * @interface Article
 */
export interface Article {
    /**
     *
     * @type {string}
     * @memberof Article
     */
    articleUrl: string;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    articleId: string;
    /**
     *
     * @type {Classification}
     * @memberof Article
     */
    classification: Classification;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    country: string;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    sourceId: string;
    /**
     *
     * @type {number}
     * @memberof Article
     */
    pageRank: number;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    domainUrl: string;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    engTitle: string;
    /**
     *
     * @type {Entities}
     * @memberof Article
     */
    entities: Entities;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    imageUrl?: string | null;
    /**
     *
     * @type {Array<string>}
     * @memberof Article
     */
    keywords: Array<string>;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    language: string;
    /**
     *
     * @type {Date}
     * @memberof Article
     */
    pubDate: Date;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    summary: string;
    /**
     *
     * @type {Array<string>}
     * @memberof Article
     */
    keyPoints?: Array<string> | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    title: string;
    /**
     *
     * @type {number}
     * @memberof Article
     */
    sentiment: number;
    /**
     *
     * @type {number}
     * @memberof Article
     */
    centroidDistance: number;
    /**
     *
     * @type {number}
     * @memberof Article
     */
    clusterProbability: number;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    markdownCitation?: string;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    provocative?: ArticleProvocativeEnum;
    /**
     *
     * @type {ReportingVoice1}
     * @memberof Article
     */
    reportingVoice?: ReportingVoice1;
    /**
     *
     * @type {AsknewsApiSchemaV1CommonGraphRelationships}
     * @memberof Article
     */
    entityRelationGraph?: AsknewsApiSchemaV1CommonGraphRelationships | null;
    /**
     *
     * @type {{ [key: string]: GeoCoordinate; }}
     * @memberof Article
     */
    geoCoordinates?: {
        [key: string]: GeoCoordinate;
    } | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    continent?: ArticleContinentEnum | null;
    /**
     *
     * @type {Assets}
     * @memberof Article
     */
    assets?: Assets | null;
    /**
     *
     * @type {Array<string>}
     * @memberof Article
     */
    socialEmbeds?: Array<string> | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    bias?: ArticleBiasEnum | null;
    /**
     *
     * @type {Array<Author>}
     * @memberof Article
     */
    authors?: Array<Author> | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    fullText?: string | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    originalLanguageSummary?: string | null;
    /**
     *
     * @type {string}
     * @memberof Article
     */
    imageDescription?: string | null;
}
/**
 * @export
 */
export declare const ArticleProvocativeEnum: {
    readonly Unknown: "unknown";
    readonly Low: "low";
    readonly Medium: "medium";
    readonly High: "high";
};
export type ArticleProvocativeEnum = typeof ArticleProvocativeEnum[keyof typeof ArticleProvocativeEnum];
/**
 * @export
 */
export declare const ArticleContinentEnum: {
    readonly Africa: "Africa";
    readonly Asia: "Asia";
    readonly Europe: "Europe";
    readonly MiddleEast: "Middle East";
    readonly NorthAmerica: "North America";
    readonly SouthAmerica: "South America";
    readonly Oceania: "Oceania";
};
export type ArticleContinentEnum = typeof ArticleContinentEnum[keyof typeof ArticleContinentEnum];
/**
 * @export
 */
export declare const ArticleBiasEnum: {
    readonly Political: "Political";
    readonly Gender: "Gender";
    readonly Cultural: "Cultural";
    readonly Age: "Age";
    readonly Religious: "Religious";
    readonly Statement: "Statement";
    readonly IllogicalClaims: "Illogical Claims";
    readonly Slant: "Slant";
    readonly SourceSelection: "Source Selection";
    readonly OmissionOfSourceAttribution: "Omission of Source Attribution";
    readonly Spin: "Spin";
    readonly Sensationalism: "Sensationalism";
    readonly Negativity: "Negativity";
    readonly SubjectiveAdjectives: "Subjective Adjectives";
    readonly AdHominem: "Ad Hominem";
    readonly MindReading: "Mind Reading";
    readonly OpinionAsFact: "Opinion-as-Fact";
    readonly None: "None";
    readonly Unknown: "Unknown";
};
export type ArticleBiasEnum = typeof ArticleBiasEnum[keyof typeof ArticleBiasEnum];
/**
 * Check if a given object implements the Article interface.
 */
export declare function instanceOfArticle(value: object): value is Article;
export declare function ArticleFromJSON(json: any): Article;
export declare function ArticleFromJSONTyped(json: any, ignoreDiscriminator: boolean): Article;
export declare function ArticleToJSON(json: any): Article;
export declare function ArticleToJSONTyped(value?: Article | null, ignoreDiscriminator?: boolean): any;
