import { BaseHandler } from './base.handler';
import { PlaybackServiceConfig, PlaybackListOptions, PlaybackDisplayItem, PlaybackGetOptions, PlaybackDeleteOptions, PlaybackMergeOptions } from '../types/playback';
import { AuthConfig } from '../types/auth';
export interface IPlaybackService {
    getPlaybackList(options: PlaybackListOptions): Promise<{
        contents: PlaybackDisplayItem[];
        pageNumber: number;
        pageSize: number;
        totalItems: number;
        totalPages: number;
    }>;
    deletePlayback(channelId: string, videoId: string, listType?: 'playback' | 'vod'): Promise<boolean>;
    mergePlayback(channelId: string, fileIds: string[], fileName?: string): Promise<{
        fileId: string;
        url?: string;
    }>;
    mergePlaybackAsync(channelId: string, fileIds: string[], options?: {
        fileName?: string;
        callbackUrl?: string;
        autoConvert?: boolean;
        mergeMp4?: boolean;
    }): Promise<boolean>;
    listPlaybackSettings(channelIds: string[]): Promise<any>;
    getPlaybackVideoInfo(channelIds: string[]): Promise<any>;
    updateChannelSubtitles(channelId: string, body: any[]): Promise<void>;
    getPlaybackEnabled(channelId: string): Promise<any>;
    setPlaybackEnabled(params: any): Promise<any>;
    addVodPlayback(params: any): Promise<any>;
    updatePlaybackTitle(channelId: string, videoId: string, title: string): Promise<boolean>;
    movePlaybackVideo(params: any): Promise<void>;
    sortPlaybackVideos(params: any): Promise<void>;
}
export declare class PlaybackHandler extends BaseHandler {
    private readonly playbackService;
    constructor(authConfig: AuthConfig, serviceConfig: PlaybackServiceConfig, playbackService?: IPlaybackService);
    listPlayback(options: PlaybackListOptions): Promise<void>;
    getPlayback(options: PlaybackGetOptions): Promise<void>;
    deletePlayback(options: PlaybackDeleteOptions): Promise<void>;
    listPlaybackSettings(options: any): Promise<void>;
    getPlaybackVideoInfo(options: any): Promise<void>;
    updateChannelSubtitles(options: any): Promise<void>;
    getPlaybackEnabled(options: any): Promise<void>;
    setPlaybackEnabled(options: any): Promise<void>;
    addVodPlayback(options: any): Promise<void>;
    updatePlaybackTitle(options: any): Promise<void>;
    movePlaybackVideo(options: any): Promise<void>;
    sortPlaybackVideos(options: any): Promise<void>;
    private displayPlaybackList;
    private displayPlaybackTable;
    private displayPlaybackDetail;
    private displayPlaybackDetailTable;
    private displayDeleteResult;
    private normalizeStringList;
    private displayResult;
    private displayDeleteResultTable;
    private formatTimestamp;
    mergePlayback(options: PlaybackMergeOptions): Promise<void>;
    private displayMergeResult;
    private displayMergeResultTable;
    private displayAsyncMergeResult;
    private displayAsyncMergeResultTable;
}
//# sourceMappingURL=playback.handler.d.ts.map