/// <reference types="bluebird" />
import * as Promise from 'bluebird';
import { HudAiCreateAttributes, HudAiListAttributes, HudAiUpdateAttributes, Resource } from '../utils/Resource';
import { RequestManager } from '../RequestManager';
import { UserContentItemReaction } from '../entities';
export declare enum ContentItemReaction {
    relevant = "relevant",
    notRelevant = "not_relevant",
}
export declare enum ContentItemReactionType {
    article = "article",
    quote = "quote",
    tweet = "tweet",
    stockAlert = "stockAlert",
    video = "video",
    earningsCall = "earningsCall",
    conferencePerson = "conferencePerson",
}
export interface UserContentItemReactionListAttributes extends HudAiListAttributes {
    contentType?: ContentItemReactionType;
    contentId?: string;
    userId?: string;
    reaction?: ContentItemReaction;
}
export interface UserContentItemReactionCreateAttributes extends HudAiCreateAttributes {
    userId: string;
    contentType: ContentItemReactionType;
    contentId: string;
    reaction: ContentItemReaction;
}
export interface UserContentItemReactionUpdateAttributes extends HudAiUpdateAttributes {
    userId?: string;
    contentId: string;
    reaction: ContentItemReaction;
}
export interface UserContentItemReactionDeleteAttributes {
    userId: string;
    contentId: string;
}
export declare class UserContentItemReactionResource extends Resource<UserContentItemReaction, UserContentItemReactionListAttributes, UserContentItemReactionCreateAttributes, HudAiUpdateAttributes> {
    constructor(requestManager: RequestManager);
    list(listArgs: UserContentItemReactionListAttributes): Promise<{
        count: number;
        rows: UserContentItemReaction[];
    }>;
    create(createArgs: UserContentItemReactionCreateAttributes): Promise<UserContentItemReaction>;
    get(id: string): Promise<UserContentItemReaction>;
    update(updateArgs: UserContentItemReactionUpdateAttributes): Promise<UserContentItemReaction>;
    del(deleteArgs: UserContentItemReactionDeleteAttributes): Promise<void>;
    destroy(deleteArgs: UserContentItemReactionDeleteAttributes): Promise<void>;
}
