import { Transaction } from 'sequelize';
import { Model } from 'sequelize-typescript';
import { AttributesOnly } from '../../../shared/typescript-utils';
import { VideoModel } from './video';
export declare type VideoJobInfoColumnType = 'pendingMove' | 'pendingTranscode';
export declare class VideoJobInfoModel extends Model<Partial<AttributesOnly<VideoJobInfoModel>>> {
    createdAt: Date;
    updatedAt: Date;
    pendingMove: number;
    pendingTranscode: number;
    videoId: number;
    Video: VideoModel;
    static load(videoId: number, transaction?: Transaction): Promise<VideoJobInfoModel>;
    static increaseOrCreate(videoUUID: string, column: VideoJobInfoColumnType): Promise<number>;
    static decrease(videoUUID: string, column: VideoJobInfoColumnType): Promise<number>;
    static abortAllTasks(videoUUID: string, column: VideoJobInfoColumnType): Promise<void>;
}
//# sourceMappingURL=video-job-info.d.ts.map