import { ChangeManualSuspensionsRequestDto, CompetitionsSubscriptionRequestDto, FixturesMetadataSubscriptionsRequestDto, FixturesSubscriptionRequestDto, GetFixtureScheduleRequestDto, GetSubscriptionsRequestDto, LeaguesSubscriptionRequestDto } from '../../common/subscription/dtos'; import { ChangeManualSuspensionsResponse, CompetitionsSubscriptionCollectionResponse, FixtureScheduleCollectionResponse, FixturesMetadataSubscriptionsCollectionResponse, FixturesSubscriptionCollectionResponse, GetManualSuspensionsResponse, SubscriptionsCollectionResponse, LeaguesSubscriptionCollectionResponse, PackageQuotaResponse } from '../../common/subscription/responses'; /** * ISubscriptionHttpClient interface is responsible * for sending requests to the subscription API. * It contains the methods for sending requests to * the subscription API. */ export interface ISubscriptionHttpClient { getPackageQuota(): Promise; getFixturesSchedule(requestDto: GetFixtureScheduleRequestDto): Promise; subscribeByFixtures(requestDto: FixturesSubscriptionRequestDto): Promise; unSubscribeByFixtures(requestDto: FixturesSubscriptionRequestDto): Promise; subscribeByLeagues(requestDto: LeaguesSubscriptionRequestDto): Promise; unSubscribeByLeagues(requestDto: LeaguesSubscriptionRequestDto): Promise; subscribeByCompetitions(requestDto: CompetitionsSubscriptionRequestDto): Promise; unSubscribeByCompetitions(requestDto: CompetitionsSubscriptionRequestDto): Promise; getSubscriptions(requestDto: GetSubscriptionsRequestDto): Promise; getFixturesMetadataSubscriptions(requestDto: FixturesMetadataSubscriptionsRequestDto): Promise; getAllManualSuspensions(): Promise; addManualSuspensions(requestDto: ChangeManualSuspensionsRequestDto): Promise; removeManualSuspensions(requestDto: ChangeManualSuspensionsRequestDto): Promise; }