import { AbuseState, PluginType, UserNotification, UserNotificationSetting } from '../../../shared/models';
import { PeerTubeServer } from '../../../shared/server-commands';
declare type CheckerBaseParams = {
    server: PeerTubeServer;
    emails: any[];
    socketNotifications: UserNotification[];
    token: string;
    check?: {
        web: boolean;
        mail: boolean;
    };
};
declare type CheckerType = 'presence' | 'absence';
declare function getAllNotificationsSettings(): UserNotificationSetting;
declare function checkNewVideoFromSubscription(options: CheckerBaseParams & {
    videoName: string;
    shortUUID: string;
    checkType: CheckerType;
}): Promise<void>;
declare function checkVideoIsPublished(options: CheckerBaseParams & {
    videoName: string;
    shortUUID: string;
    checkType: CheckerType;
}): Promise<void>;
declare function checkVideoStudioEditionIsFinished(options: CheckerBaseParams & {
    videoName: string;
    shortUUID: string;
    checkType: CheckerType;
}): Promise<void>;
declare function checkMyVideoImportIsFinished(options: CheckerBaseParams & {
    videoName: string;
    shortUUID: string;
    url: string;
    success: boolean;
    checkType: CheckerType;
}): Promise<void>;
declare function checkUserRegistered(options: CheckerBaseParams & {
    username: string;
    checkType: CheckerType;
}): Promise<void>;
declare function checkNewActorFollow(options: CheckerBaseParams & {
    followType: 'channel' | 'account';
    followerName: string;
    followerDisplayName: string;
    followingDisplayName: string;
    checkType: CheckerType;
}): Promise<void>;
declare function checkNewInstanceFollower(options: CheckerBaseParams & {
    followerHost: string;
    checkType: CheckerType;
}): Promise<void>;
declare function checkAutoInstanceFollowing(options: CheckerBaseParams & {
    followerHost: string;
    followingHost: string;
    checkType: CheckerType;
}): Promise<void>;
declare function checkCommentMention(options: CheckerBaseParams & {
    shortUUID: string;
    commentId: number;
    threadId: number;
    byAccountDisplayName: string;
    checkType: CheckerType;
}): Promise<void>;
declare function checkNewCommentOnMyVideo(options: CheckerBaseParams & {
    shortUUID: string;
    commentId: number;
    threadId: number;
    checkType: CheckerType;
}): Promise<void>;
declare function checkNewVideoAbuseForModerators(options: CheckerBaseParams & {
    shortUUID: string;
    videoName: string;
    checkType: CheckerType;
}): Promise<void>;
declare function checkNewAbuseMessage(options: CheckerBaseParams & {
    abuseId: number;
    message: string;
    toEmail: string;
    checkType: CheckerType;
}): Promise<void>;
declare function checkAbuseStateChange(options: CheckerBaseParams & {
    abuseId: number;
    state: AbuseState;
    checkType: CheckerType;
}): Promise<void>;
declare function checkNewCommentAbuseForModerators(options: CheckerBaseParams & {
    shortUUID: string;
    videoName: string;
    checkType: CheckerType;
}): Promise<void>;
declare function checkNewAccountAbuseForModerators(options: CheckerBaseParams & {
    displayName: string;
    checkType: CheckerType;
}): Promise<void>;
declare function checkVideoAutoBlacklistForModerators(options: CheckerBaseParams & {
    shortUUID: string;
    videoName: string;
    checkType: CheckerType;
}): Promise<void>;
declare function checkNewBlacklistOnMyVideo(options: CheckerBaseParams & {
    shortUUID: string;
    videoName: string;
    blacklistType: 'blacklist' | 'unblacklist';
}): Promise<void>;
declare function checkNewPeerTubeVersion(options: CheckerBaseParams & {
    latestVersion: string;
    checkType: CheckerType;
}): Promise<void>;
declare function checkNewPluginVersion(options: CheckerBaseParams & {
    pluginType: PluginType;
    pluginName: string;
    checkType: CheckerType;
}): Promise<void>;
declare function prepareNotificationsTest(serversCount?: number, overrideConfigArg?: any): Promise<{
    userNotifications: UserNotification[];
    adminNotifications: UserNotification[];
    adminNotificationsServer2: UserNotification[];
    userAccessToken: string;
    emails: object[];
    servers: PeerTubeServer[];
    channelId: number;
}>;
export { getAllNotificationsSettings, CheckerBaseParams, CheckerType, checkMyVideoImportIsFinished, checkUserRegistered, checkAutoInstanceFollowing, checkVideoIsPublished, checkNewVideoFromSubscription, checkNewActorFollow, checkNewCommentOnMyVideo, checkNewBlacklistOnMyVideo, checkCommentMention, checkNewVideoAbuseForModerators, checkVideoAutoBlacklistForModerators, checkNewAbuseMessage, checkAbuseStateChange, checkNewInstanceFollower, prepareNotificationsTest, checkNewCommentAbuseForModerators, checkNewAccountAbuseForModerators, checkNewPeerTubeVersion, checkNewPluginVersion, checkVideoStudioEditionIsFinished };
//# sourceMappingURL=notifications.d.ts.map