import { Source } from './source' ; import { AvatarSource } from './avatar-source.enum' ; /**
 * Contract of all async sources.
 * Every async source must implement the processResponse method that extracts the avatar url from the data
 */ export abstract class AsyncSource implements Source { readonly abstract sourceType : AvatarSource ; constructor ( public sourceId ) { } abstract getAvatar ( size ) ; abstract processResponse ( data , size ? ) ; }