package Ġcom . t ari od . up hub . data . contract Ċ Ċ import Ġandroidx . paging . Paged List Ċ import Ġcom . t ari od . up hub . data . database . model . Branch Ċ import Ġcom . t ari od . up hub . data . database . model . Directory Item Ċ import Ġcom . t ari od . up hub . data . database . model . Repository Ċ import Ġcom . t ari od . up hub . domain . base . Immutable State Ċ import Ġcom . t ari od . up hub . domain . base . Paging State Ċ import Ġcom . t ari od . up hub . utilities . coroutine . Job Composite Ċ Ċ interface ĠRe pos Repository Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDown loads Ġnext Ġpage Ġof Ġrepositories Ġwith Ġa Ġlast Id . ĠStores Ġmodels Ġin Ġthe Ġdatabase ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfetch More ( ĊĠĠĠĠĠĠĠ Ġjob Composite : ĠJob Composite , ĊĠĠĠĠĠĠĠ Ġsearch : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġnext Page : ĠInt Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠ Ġnext Id : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġprevious State : ĠP aging State < Repository >? Ġ= Ġnull ĊĠĠĠ Ġ): ĠP aging State < Repository > ĊĊĠĠĠ Ġfun Ġfetch Repositories ( ĊĠĠĠĠĠĠĠ Ġjob Composite : ĠJob Composite , ĊĠĠĠĠĠĠĠ ĠuserId : ĠInt ĊĠĠĠ Ġ): ĠImmutable State < Paged List < Repository >> ĊĊĠĠĠ Ġfun Ġfetch Directory ( ĊĠĠĠĠĠĠĠ Ġjob Composite : ĠJob Composite , ĊĠĠĠĠĠĠĠ Ġrepos Id : ĠInt , ĊĠĠĠĠĠĠĠ Ġsha : ĠString ĊĠĠĠ Ġ): ĠImmutable State < List < Directory Item >> ĊĊĠĠĠ Ġfun Ġfetch Branches ( job Composite : ĠJob Composite , Ġrepos Id : ĠInt ): ĠImmutable State < List < Branch >> Ċ }