import * as apid from '../../../api' ; import Recorded from '../../db/entities/Recorded' ; export interface RecordedColumnOption { isNeedVideoFiles : boolean ; isNeedThumbnails : boolean ; isNeedsDropLog : boolean ; isNeedTags : boolean ; } export interface FindAllOption extends apid . GetRecordedOption { isRecording ? : boolean ; } export default interface IRecordedDB { restore ( items ) : Promise < void > ; insertOnce ( recorded ) : Promise < apid . RecordedId > ; updateOnce ( recorded ) : Promise < void > ; removeRecording ( recordedId ) : Promise < void > ; removeDropLogFileId ( dropLogFileId ) : Promise < void > ; removeRuleId ( ruleId ) : Promise < void > ; changeProtect ( recordedId , isProtect ) : Promise < void > ; deleteOnce ( recordedId ) : Promise < void > ; findId ( recordedId ) : Promise < Recorded | null > ; findIds ( recordedIds ) : Promise < Recorded [ ] > ; findAll ( option , columnOption ) : Promise < [ Recorded [ ] , number ] > ; findChannelList ( ) : Promise < apid . RecordedChannelListItem [ ] > ; findGenreList ( ) : Promise < apid . RecordedGenreListItem [ ] > ; findOld ( ) : Promise < Recorded | null > ; findReserveId ( reserveId ) : Promise < Recorded [ ] > ; }