/// <reference types="bluebird" />
import * as Promise from 'bluebird';
import { HudAiCreateAttributes, HudAiListAttributes, Resource } from '../utils/Resource';
import { RequestManager } from '../RequestManager';
import { UserDigestSubscription } from '../entities';
export interface UserDigestSubscriptionListAttributes extends HudAiListAttributes {
    userId?: string;
    dayOfWeek?: string;
    isoHour?: string;
}
export interface UserDigestSubscriptionCreateAttributes extends HudAiCreateAttributes {
    userId?: string;
    dayOfWeek: string;
    isoHour: string;
}
export interface UserDigestSubscriptionGetAttributes {
    userId?: string;
    id: string;
}
export interface UserDigestSubscriptionDestroyAttributes {
    userId?: string;
    id: string;
}
export interface UserDigestSubscriptionUnsubscribeAttributes extends HudAiCreateAttributes {
    userId?: string;
    dayOfWeek: string;
}
export declare class UserDigestSubscriptionResource extends Resource<UserDigestSubscription, UserDigestSubscriptionListAttributes, UserDigestSubscriptionCreateAttributes, any> {
    constructor(requestManager: RequestManager);
    subscribe(upsertArgs: UserDigestSubscriptionCreateAttributes): Promise<any>;
    unsubscribe(unsubscribeArgs: UserDigestSubscriptionUnsubscribeAttributes): Promise<any>;
    list(listArgs: UserDigestSubscriptionListAttributes): Promise<{
        count: number;
        rows: UserDigestSubscription[];
    }>;
    create(createArgs: UserDigestSubscriptionCreateAttributes): Promise<UserDigestSubscription>;
    get(getArgs: UserDigestSubscriptionGetAttributes): Promise<UserDigestSubscription>;
    del(destroyArgs: UserDigestSubscriptionDestroyAttributes): Promise<void>;
    destroy(destroyArgs: UserDigestSubscriptionDestroyAttributes): Promise<void>;
}
