/**
 * The category interface
 */
export interface Category {
    id: number;
    order: number;
    name: string;
    color: string | null;
}
/**
 * The author interface
 */
export interface Author {
    id: number;
    name: string;
    title: string;
    order: number;
    photo: string;
    intro: string;
}
/**
 * The permissions interface
 */
export interface Permissions {
    favorite: boolean;
    rate: boolean;
}
/**
 * The tag interface
 */
export interface Tag {
    id: number;
    name: string;
}
/**
 * The Article interface for the Redux store.
 */
export interface StoreArticle {
    id: string;
    category: Category;
    slug: string;
    title: string;
    metaDescription: string;
    summary: string;
    overallScoreText: string;
    image: string;
    author: Author;
    publishDate: Array<number>;
    avgRating: number;
    tags: Array<Tag>;
    permissions: Permissions;
    result: string;
    snpRelevance: number;
    myRating: number;
}
/**
 * The Article interface for the API server.
 */
export interface APIArticle {
    id?: number;
    category: Category;
    slug: string;
    title: string;
    meta_description: string;
    summary: string;
    overall_score_text: string;
    image: string;
    author: Author;
    publish_date: Array<number>;
    avg_rating: number;
    tags: Array<Tag>;
    permissions: Permissions;
    result: string;
    snp_relevance: number;
    my_rating: number;
}
export interface CompleteAPIArticle {
    id?: number;
    category: {
        id: number;
        order: number;
        name: string;
        color: string | null;
    };
    slug: string;
    title: string;
    meta_description: string;
    summary: string;
    overall_score_text: string;
    image: string;
    author: {
        id: number;
        name: string;
        title: string;
        order: number;
        photo: string;
        intro: string;
    };
    reviewer: {
        id: number;
        name: string;
        title: string;
        order: number;
        photo: string;
        intro: string;
    } | null;
    medical_reviewer: {
        id: number;
        name: string;
        title: string;
        order: number;
        photo: string;
        intro: string;
    } | null;
    publish_date: Array<number>;
    avg_rating: number;
    tags: Array<{
        id: number;
        name: string;
    }>;
    permissions: {
        favorite: boolean;
        rate: boolean;
    };
    result: string;
    snp_relevance: number;
    my_rating: number;
}
