import { Model } from 'sequelize-typescript';
import { MVideoBlacklist, MVideoBlacklistFormattable } from '../../types/models';
import { AttributesOnly } from '../../../shared/typescript-utils';
import { VideoBlacklist, VideoBlacklistType } from '../../../shared/models/videos';
import { SortType } from '../utils';
import { VideoModel } from './video';
export declare class VideoBlacklistModel extends Model<Partial<AttributesOnly<VideoBlacklistModel>>> {
    reason: string;
    unfederated: boolean;
    type: VideoBlacklistType;
    createdAt: Date;
    updatedAt: Date;
    videoId: number;
    Video: VideoModel;
    static listForApi(parameters: {
        start: number;
        count: number;
        sort: SortType;
        search?: string;
        type?: VideoBlacklistType;
    }): Promise<{
        data: VideoBlacklistModel[];
        total: number;
    }>;
    static loadByVideoId(id: number): Promise<MVideoBlacklist>;
    toFormattedJSON(this: MVideoBlacklistFormattable): VideoBlacklist;
}
//# sourceMappingURL=video-blacklist.d.ts.map