import { Area, Config, PaginatedResponse, BaseResourceWithId, QueryParams } from "../../common";
import { APIArticleSummary, APIAuthor, Author, StoreArticleSummary } from "./interfaces";
export declare class BaseArticleSummary extends BaseResourceWithId {
    slug: string;
    title: string;
    summary: string;
    recommendationTitle: string;
    disclaimer: string;
    metaDescription: string;
    genes: string[];
    area: Area[];
    author: Author | null;
    publishDate: string | null;
    constructor(slug: string, title: string, summary: string, recommendationTitle: string, disclaimer: string, metaDescription: string, genes: string[], area: Area[], author: Author | null, publishDate: string | null);
    static get resourceName(): string;
    static get serviceName(): string;
    static authorAPIFactory(data: APIAuthor): Author;
    serializeRedux(): StoreArticleSummary;
    static apiFactory(data: APIArticleSummary): BaseArticleSummary;
    static reduxFactory(data: StoreArticleSummary): BaseArticleSummary;
}
export declare class ArticleSummary extends BaseArticleSummary {
    static paginatedList(queryParams?: QueryParams, { cancelToken, timeout }?: Config): Promise<PaginatedResponse<ArticleSummary>>;
}
