import { ReadingContent , ReadingFilter , ReadingState } from '@icarus/shared' ; export interface ActiveReadingState extends ReadingState { originalBookLocations : string [ ] ; } export default interface Shelf { open ( ) : Promise < void > ; close ( ) : Promise < void > ; openDirectory ( location ) : Promise < void > ; openBooks ( bookLocations ) : Promise < void > ; moveImageForward ( ) : Promise < void > ; moveImageBackward ( ) : Promise < void > ; moveBookForward ( ) : Promise < void > ; moveBookBackward ( ) : Promise < void > ; moveCursor ( bookIndex , imageIndex ) : Promise < void > ; applyFilter ( filter ) : Promise < void > ; listBookNames ( ) : Promise < string [ ] > ; listTags ( ) : Promise < string [ ] > ; suggestTags ( bookName , maxCount ) : Promise < string [ ] > ; findTagsByBook ( bookName ) : Promise < string [ ] > ; applyTagToBook ( bookName , tagName , active ) : Promise < void > ; readCurrentContent ( ) : Promise < ReadingContent > ; }