import { Model } from 'sequelize-typescript';
import { MVideoChangeOwnershipFormattable, MVideoChangeOwnershipFull } from '../../types/models/video/video-change-ownership';
import { AttributesOnly } from '../../../shared/typescript-utils';
import { VideoChangeOwnership, VideoChangeOwnershipStatus } from '../../../shared/models/videos';
import { AccountModel } from '../account/account';
import { VideoModel } from './video';
export declare class VideoChangeOwnershipModel extends Model<Partial<AttributesOnly<VideoChangeOwnershipModel>>> {
    createdAt: Date;
    updatedAt: Date;
    status: VideoChangeOwnershipStatus;
    initiatorAccountId: number;
    Initiator: AccountModel;
    nextOwnerAccountId: number;
    NextOwner: AccountModel;
    videoId: number;
    Video: VideoModel;
    static listForApi(nextOwnerId: number, start: number, count: number, sort: string): Promise<{
        total: number;
        data: MVideoChangeOwnershipFull[];
    }>;
    static load(id: number): Promise<MVideoChangeOwnershipFull>;
    toFormattedJSON(this: MVideoChangeOwnershipFormattable): VideoChangeOwnership;
}
//# sourceMappingURL=video-change-ownership.d.ts.map