import { Transaction } from 'sequelize';
import { Model } from 'sequelize-typescript';
import { MScheduleVideoUpdateFormattable, MScheduleVideoUpdate } from '../../types/models';
import { AttributesOnly } from '../../../shared/typescript-utils';
import { VideoPrivacy } from '../../../shared/models/videos';
import { VideoModel } from './video';
export declare class ScheduleVideoUpdateModel extends Model<Partial<AttributesOnly<ScheduleVideoUpdateModel>>> {
    updateAt: Date;
    privacy: VideoPrivacy.PUBLIC | VideoPrivacy.UNLISTED | VideoPrivacy.INTERNAL;
    createdAt: Date;
    updatedAt: Date;
    videoId: number;
    Video: VideoModel;
    static areVideosToUpdate(): Promise<boolean>;
    static listVideosToUpdate(transaction?: Transaction): Promise<MScheduleVideoUpdate[]>;
    static deleteByVideoId(videoId: number, t: Transaction): Promise<number>;
    toFormattedJSON(this: MScheduleVideoUpdateFormattable): {
        updateAt: Date;
        privacy: VideoPrivacy.PUBLIC | VideoPrivacy.UNLISTED | VideoPrivacy.INTERNAL;
    };
}
//# sourceMappingURL=schedule-video-update.d.ts.map