import { Model } from 'sequelize-typescript';
import { MNotificationSettingFormattable } from '../../types/models';
import { AttributesOnly } from '../../../shared/typescript-utils';
import { UserNotificationSetting, UserNotificationSettingValue } from '../../../shared/models/users/user-notification-setting.model';
import { UserModel } from './user';
export declare class UserNotificationSettingModel extends Model<Partial<AttributesOnly<UserNotificationSettingModel>>> {
    newVideoFromSubscription: UserNotificationSettingValue;
    newCommentOnMyVideo: UserNotificationSettingValue;
    abuseAsModerator: UserNotificationSettingValue;
    videoAutoBlacklistAsModerator: UserNotificationSettingValue;
    blacklistOnMyVideo: UserNotificationSettingValue;
    myVideoPublished: UserNotificationSettingValue;
    myVideoImportFinished: UserNotificationSettingValue;
    newUserRegistration: UserNotificationSettingValue;
    newInstanceFollower: UserNotificationSettingValue;
    autoInstanceFollowing: UserNotificationSettingValue;
    newFollow: UserNotificationSettingValue;
    commentMention: UserNotificationSettingValue;
    abuseStateChange: UserNotificationSettingValue;
    abuseNewMessage: UserNotificationSettingValue;
    newPeerTubeVersion: UserNotificationSettingValue;
    newPluginVersion: UserNotificationSettingValue;
    userId: number;
    User: UserModel;
    createdAt: Date;
    updatedAt: Date;
    static removeTokenCache(instance: UserNotificationSettingModel): void;
    toFormattedJSON(this: MNotificationSettingFormattable): UserNotificationSetting;
}
//# sourceMappingURL=user-notification-setting.d.ts.map