/// <reference types="bluebird" />
import * as Promise from 'bluebird';
import { HudAiCreateAttributes, HudAiListAttributes, Resource } from '../utils/Resource';
import { RequestManager } from '../RequestManager';
import { Tweet } from '../entities';
export interface TweetListAttributes extends HudAiListAttributes {
    personId?: string;
    minImportance?: number;
}
export interface TweetSearchAttributes extends HudAiListAttributes {
    id?: string;
    personId?: string;
    twitterTweetId?: string;
    text?: string;
    minImportance?: number;
    maxImportance?: number;
    terms: string[];
    createdBefore?: Date;
    createdAfter?: Date;
}
export interface TweetCreateAttributes extends HudAiCreateAttributes {
    personId: string;
    twitterTweetId: string;
    importanceScore?: number;
    twitterCreatedAt: Date;
    text: string;
}
export declare class TweetResource extends Resource<Tweet, TweetListAttributes, TweetCreateAttributes, any> {
    constructor(requestManager: RequestManager);
    list(listArgs: TweetListAttributes): Promise<{
        count: number;
        rows: Tweet[];
    }>;
    search(searchArgs: TweetSearchAttributes): Promise<{
        count: number;
        rows: Tweet[];
    }>;
    reindex(): Promise<any>;
    create(createArgs: TweetCreateAttributes): Promise<Tweet>;
    get(id: string | number): Promise<Tweet>;
    getByTwitterTweetId(id: string | number): Promise<Tweet>;
    del(id: string | number): Promise<void>;
    destroy(id: string | number): Promise<void>;
}
