/// <reference types="bluebird" />
import * as Promise from 'bluebird';
import { HudAiCreateAttributes, HudAiListAttributes, HudAiUpdateAttributes, Resource } from '../utils/Resource';
import { RequestManager } from '../RequestManager';
import { Article } from '../entities';
export interface ArticleListAttributes extends HudAiListAttributes {
    companyId?: string;
    importanceScoreMin?: number;
    keyTerm?: string;
    linkHash?: string;
    publishedAfter?: Date;
    publishedBefore?: Date;
    type?: string;
}
export interface ArticleListResults {
    count: number;
    rows: Article[];
}
export interface ArticleCreateAttributes extends HudAiCreateAttributes {
    imageUrl?: string;
    importanceScore?: number;
    localScore?: number;
    linkUrl: string;
    publishedAt?: Date;
    rawDataUrl: string;
    sourceUrl: string;
    text?: string;
    title: string;
    type: string;
}
export interface ArticleUpdateAttributes extends HudAiUpdateAttributes {
    imageUrl?: string;
    importanceScore?: number;
    localScore?: number;
    linkUrl?: string;
    publishedAt?: Date;
    rawDataUrl?: string;
    sourceUrl?: string;
    text?: string;
    title?: string;
    type?: string;
}
export declare class ArticleResource extends Resource<Article, ArticleListAttributes, ArticleCreateAttributes, ArticleUpdateAttributes> {
    constructor(requestManager: RequestManager);
    list(listArgs: ArticleListAttributes): Promise<ArticleListResults>;
    create(createArgs: ArticleCreateAttributes): Promise<Article>;
    get(id: string | number): Promise<Article>;
    update(id: string | number, updateArgs: ArticleUpdateAttributes): Promise<Article>;
    del(id: string | number): Promise<void>;
    destroy(id: string | number): Promise<void>;
}
