import { BaseHandler } from './base.handler';
import { RecordServiceConfig, RecordSettingGetOptions, RecordSettingSetOptions, RecordConvertOptions, RecordSetDefaultOptions, RecordSettingDisplayItem, RecordConvertResult } from '../types/record';
import { AuthConfig } from '../types/auth';
export interface IRecordService {
    getPlaybackSetting(channelId: string): Promise<RecordSettingDisplayItem>;
    setPlaybackSetting(channelId: string, options: RecordSettingSetOptions): Promise<boolean>;
    recordConvert(channelId: string, options: RecordConvertOptions): Promise<RecordConvertResult>;
    recordConvertAsync(channelId: string, options: RecordConvertOptions): Promise<RecordConvertResult>;
    setRecordDefault(channelId: string, videoId: string, listType?: 'playback' | 'vod'): Promise<boolean>;
    getRecordFile(channelId: string, fileId: string): Promise<any>;
    listRecordFiles(params: any): Promise<any>;
    listMaterialRecordFiles(params: any): Promise<any>;
    clipRecordFile(channelId: string, options: any): Promise<any>;
    mergeRecordFiles(params: any): Promise<any>;
    recordMergeMp4(channelId: string, options: any): Promise<any>;
    recordMergeMp4Start(channelId: string, options: any): Promise<boolean>;
    deleteRecordFile(params: any): Promise<void>;
    convertRecordFileToVod(params: any): Promise<any>;
    recordAddBreakpoint(channelId: string, options: any): Promise<boolean>;
    createRecordFileOutline(params: any): Promise<any>;
    getRecordFileOutline(channelId: string, fileId: string): Promise<any>;
    batchPublishRecordFileSubtitles(subtitles: Array<{
        id: string | number;
        status: string;
    }>): Promise<void>;
}
export declare class RecordHandler extends BaseHandler {
    private readonly recordService;
    constructor(authConfig: AuthConfig, serviceConfig: RecordServiceConfig, recordService?: IRecordService);
    getPlaybackSetting(options: RecordSettingGetOptions): Promise<void>;
    setPlaybackSetting(options: RecordSettingSetOptions): Promise<void>;
    recordConvert(options: RecordConvertOptions): Promise<void>;
    setRecordDefault(options: RecordSetDefaultOptions): Promise<void>;
    getRecordFile(options: any): Promise<void>;
    listRecordFiles(options: any): Promise<void>;
    listMaterialRecordFiles(options: any): Promise<void>;
    clipRecordFile(options: any): Promise<void>;
    mergeRecordFiles(options: any): Promise<void>;
    recordMergeMp4(options: any): Promise<void>;
    recordMergeMp4Start(options: any): Promise<void>;
    deleteRecordFile(options: any): Promise<void>;
    convertRecordFileToVod(options: any): Promise<void>;
    recordAddBreakpoint(options: any): Promise<void>;
    createRecordFileOutline(options: any): Promise<void>;
    getRecordFileOutline(options: any): Promise<void>;
    batchPublishRecordFileSubtitles(options: any): Promise<void>;
    private displayPlaybackSetting;
    private compactOptions;
    private displayResult;
    private displayPlaybackSettingTable;
    private displaySetPlaybackSettingResult;
    private displayConvertResult;
    private displaySetDefaultResult;
}
//# sourceMappingURL=record.handler.d.ts.map