import { Model } from 'sequelize-typescript';
import { MVideoLiveSession, MVideoLiveSessionReplay } from '../../types/models';
import { LiveVideoError, LiveVideoSession } from '../../../shared/models';
import { AttributesOnly } from '../../../shared/typescript-utils';
import { VideoModel } from './video';
export declare enum ScopeNames {
    WITH_REPLAY = "WITH_REPLAY"
}
export declare class VideoLiveSessionModel extends Model<Partial<AttributesOnly<VideoLiveSessionModel>>> {
    createdAt: Date;
    updatedAt: Date;
    startDate: Date;
    endDate: Date;
    error: LiveVideoError;
    saveReplay: boolean;
    endingProcessed: boolean;
    replayVideoId: number;
    ReplayVideo: VideoModel;
    liveVideoId: number;
    LiveVideo: VideoModel;
    static load(id: number): Promise<MVideoLiveSession>;
    static findSessionOfReplay(replayVideoId: number): Promise<VideoLiveSessionModel>;
    static findCurrentSessionOf(videoId: number): Promise<VideoLiveSessionModel>;
    static findLatestSessionOf(videoId: number): Promise<VideoLiveSessionModel>;
    static listSessionsOfLiveForAPI(options: {
        videoId: number;
    }): Promise<VideoLiveSessionModel[]>;
    toFormattedJSON(this: MVideoLiveSessionReplay): LiveVideoSession;
}
//# sourceMappingURL=video-live-session.d.ts.map