/// <reference types="bluebird" />
import * as Promise from 'bluebird';
import { HudAiCreateAttributes, HudAiListAttributes, HudAiUpdateAttributes, Resource } from '../utils/Resource';
import { RequestManager } from '../RequestManager';
import { Source } from '../entities';
export interface SourceListAttributes extends HudAiListAttributes {
    name?: string;
    domain?: string;
    minReliability?: number;
    maxReliability?: number;
    articleId?: string;
}
export interface SourceCreateAttributes extends HudAiCreateAttributes {
    name: string;
    domain: string;
    description?: string;
    language?: string;
    country?: string;
    reliabilityScore?: string;
}
export interface SourceUpdateAttributes extends HudAiUpdateAttributes {
    name?: string;
    domain?: string;
    description?: string;
    language?: string;
    country?: string;
    reliabilityScore?: string;
}
export declare class SourceResource extends Resource<Source, SourceListAttributes, SourceCreateAttributes, SourceUpdateAttributes> {
    constructor(requestManager: RequestManager);
    list(listArgs: SourceListAttributes): Promise<{
        count: number;
        rows: Source[];
    }>;
    create(createArgs: SourceCreateAttributes): Promise<Source>;
    get(id: string | number): Promise<Source>;
    update(id: string | number, updateArgs: SourceUpdateAttributes): Promise<Source>;
    del(id: string | number): Promise<void>;
    destroy(id: string | number): Promise<void>;
}
