UNPKG

@vertikalx/vtx-backend-client

Version:

GraphQL API generated client for VTX

350 lines (349 loc) • 26.1 kB
import { GraphQLClient } from 'graphql-request'; import { Sdk } from '../generated/graphql'; import { User, AddValuesResponse, UserToken, UserWithToken, Athlete, RegisterAthleteDto, Brand, CreateBrandDto, AWSS3UploadUrl, AWSS3GetUploadDto, CreateTenantInput, Tenant, TenantWithUserLogin, RegisterUserToDomainFromEmailInput, DecodedToken, Sponsorship, CreateSponsorshipDto, SponsorAthleteInvitation, InviteAthletesDto, RegisterUserDto, VerificationCode, FindSponsorAthleteInvitationDto, FindVtxUserDto, City, SportLevel, Sport, EditValueResponse, CreateAthleteCompetitionDto, AthleteCompetition, GetSportEventsDto, SportsEvent, CreateSportEventDto, UpdateSportEventDto, GetAthleteCompetitionsDto, AthleteMembership, MembershipOrganizationReference, CreateMembershipOrganizationDto, CreateAthleteMembershipDto, DeleteSingleValueDto, DeleteSingleValueResponse, FundRaisingCampaign, CreateFundingCampaignDto, AthleteQueryDto, AthleteQueryResponse, CreateStripeAccountDto, StripeSession, StripeAccountReference, StripeCheckoutSession, DonationCheckoutDto, GetDatabaseFileDto, TextDatabaseFile, StripeQueryDto, StripeObject, SetFundingStatusDto, EditPictureResponse, UploadAlbumsPicturesDto, UpdateUserSuspendedStatusDto, EditPictureDto, Album, State, Country, AWSS3DeleteUseTypeKeyDto, AthleteIntegrationReference, AWSS3CallResult, SetCompetitionResultDto, AthleteCompetitionResult, CodeVerificationResponse, resetPasswordDto, DeleteValuesDto, DeleteValuesResponse, ExistValueResponse, Receipt, ReceiptUrl, GetReceiptDto, BudgetData, AddCompetitionBudgetDto, EditCompetitionBudgetDto, EditCampaignBudgetDto, SetCurrentCampaignDto, GetAthleteCampaignsDto, BrowseCampaignsDto, BrowseCampaignsResult, UpdateFundingCampaignDto, EditDisplayIndexDto, MergeEventsResponse, MergeSportsEventsDto, BudgetConcept, BudgetItemUnit, CompetitionDeleteVerificationResponse, RegisterMemberDto, Member, Donation, GetHistoricalScoresDto, HistoricalScore, GetMyHistoricalScoresDto, HistoricalScoresPeriod, GetTransactionDetailsDto, TransactionDetails, AdminUserView, AdminTransactionView, PaginatedTransactions, TransactionQueryDto, PaginatedUsers, UserQueryDto, EventQueryDto, PaginatedSports, SportQueryDto, StripeBalance, DeleteVtxUserDto, DeleteVtxUserResponse, ForceScoreRefreshResponse, Offer, CreateOfferDto, Sponsor, CreateSponsorDto, PaginatedBrands, BrandQueryDto, PaginatedEvents, SponsorQueryDto, PaginatedSponsors, OfferQueryDto, PaginatedOffers, PaginatedOffersWithEligibility, UploadResult, OfferClaim, OfferClaimQueryDto, LeaderboardResponse, UserRank, LeaderboardQueryDto, UserRankQueryDto, DashboardSummary, ScoreHistoryEntry, RankHistoryEntry, RankContext, ActivitiesResponse, ActivityDetail, ComponentSummary, ScoreHistoryQueryDto, RankHistoryQueryDto, RankContextQueryDto, ActivitiesQueryDto, ActivityDetailQueryDto, ComponentSummaryQueryDto, ActivityDatesResponse, Platform, PeriodType, ContentType, PostSortOption, Notification, NotificationListResponse, UnreadCountResponse, NotificationPreference, DeviceTokenType, FollowedAthletesListResponse, IsFollowingResponse, DonationDates, PaginatedDonations, DonationQueryDto, existValueDto, VerifyCodeDto } from '../client'; import { ITypedBackendResponse } from './backend-response'; import { APICallHeaders } from './api-call-headers'; import { VerificationCodeType } from '@vertikalx/common-types'; export declare class VTXBaseAPI { protected headers: APICallHeaders; protected backendUrl: string; protected gqlClient: GraphQLClient; protected sdk: Sdk; protected static Logger: { debug: (str: any) => void; log: (str: any) => void; warn: (str: any) => void; error: (str: any) => void; }; constructor(backendUrl: string, headers?: APICallHeaders, requestConfig?: { fetch?: typeof fetch; }); getHeaders(): APICallHeaders; setHeader(key: string, value: string): void; static getVersion(): string; static isBrowser(): boolean; protected execute<T>(sdkCall: () => Promise<any>, rootProperty: string, checker: (response: any) => boolean, logPrefix: string): Promise<ITypedBackendResponse<T>>; findUserByEmail(email: string): Promise<ITypedBackendResponse<User>>; loginUserFromEmail(loginEmail: string, loginMethod?: string): Promise<ITypedBackendResponse<UserToken>>; createUserAndLogin(loginEmail: string): Promise<ITypedBackendResponse<UserWithToken>>; registerMember(dto: RegisterMemberDto): Promise<ITypedBackendResponse<Member>>; registerAthlete(payload: RegisterAthleteDto): Promise<ITypedBackendResponse<Athlete>>; findBrandByName(name: string, translations?: boolean): Promise<ITypedBackendResponse<Brand>>; createBrand(dto: CreateBrandDto): Promise<ITypedBackendResponse<Brand>>; createSponsorship(dto: CreateSponsorshipDto, _desiredFields?: any): Promise<ITypedBackendResponse<Sponsorship>>; getS3UploadUrl(dto: AWSS3GetUploadDto): Promise<ITypedBackendResponse<AWSS3UploadUrl>>; getVtxS3UploadUrl(dto: AWSS3GetUploadDto): Promise<ITypedBackendResponse<AWSS3UploadUrl>>; refreshToken(currentToken: string, refreshToken: string): Promise<ITypedBackendResponse<UserToken>>; registerNewDomainTenant(input: CreateTenantInput): Promise<ITypedBackendResponse<Tenant>>; registerNewDomainTenantWithLogin(input: CreateTenantInput): Promise<ITypedBackendResponse<TenantWithUserLogin>>; registerUserToDomainFromEmail(input: RegisterUserToDomainFromEmailInput): Promise<ITypedBackendResponse<User>>; getPublicSponsorships(): Promise<ITypedBackendResponse<Sponsorship[]>>; getTenantSponsorshipsFromUri(tenantUri: string, token: DecodedToken): Promise<ITypedBackendResponse<Sponsorship[]>>; isUserSuspended(loginEmail: string): Promise<ITypedBackendResponse<boolean>>; getTenantSponsorships(tenantId: string): Promise<ITypedBackendResponse<Sponsorship[]>>; sendAthleteInvitations(input: InviteAthletesDto): Promise<ITypedBackendResponse<SponsorAthleteInvitation[]>>; registerSponsorUser(input: RegisterUserDto): Promise<ITypedBackendResponse<User>>; registerAthleteUser(input: RegisterUserDto): Promise<ITypedBackendResponse<User>>; preRegisterAthleteUser(input: RegisterUserDto): Promise<ITypedBackendResponse<VerificationCode>>; confirmAthleteUserRegistrationAndLogin(input: VerifyCodeDto): Promise<ITypedBackendResponse<UserWithToken>>; confirmAthleteUserRegistration(input: VerifyCodeDto): Promise<ITypedBackendResponse<User>>; findSponsorAthleteInvitation(dto: FindSponsorAthleteInvitationDto): Promise<ITypedBackendResponse<SponsorAthleteInvitation>>; findVtxUser(dto: FindVtxUserDto): Promise<ITypedBackendResponse<User>>; findCitiesStartingWith(pattern: string): Promise<ITypedBackendResponse<City[]>>; findCityById(cityId: string): Promise<ITypedBackendResponse<City>>; getSportLevels(): Promise<ITypedBackendResponse<SportLevel[]>>; getSports(): Promise<ITypedBackendResponse<Sport[]>>; getSportsPaginated(args: { query: SportQueryDto; }): Promise<ITypedBackendResponse<PaginatedSports>>; getStates(): Promise<ITypedBackendResponse<State[]>>; getCountries(): Promise<ITypedBackendResponse<Country[]>>; loginUserFromCredentialsVtx(username: string, password: string): Promise<ITypedBackendResponse<UserWithToken>>; validateUserCredentialsVtx(username: string, password: string): Promise<ITypedBackendResponse<User>>; findAthleteForUser(loginEmail: string): Promise<ITypedBackendResponse<Athlete>>; getBrands(): Promise<ITypedBackendResponse<Brand[]>>; getBrandsPaginated(args: { query: BrandQueryDto; }): Promise<ITypedBackendResponse<PaginatedBrands>>; getAthletes(): Promise<ITypedBackendResponse<Athlete[]>>; searchAthletes(searchString: string): Promise<ITypedBackendResponse<Athlete[]>>; getRecommendedAthletes(loginEmail: string): Promise<ITypedBackendResponse<Athlete[]>>; getSponsorAthletesForTenant(): Promise<ITypedBackendResponse<Athlete[]>>; getUserImagesFromEmail(loginEmail: string): Promise<ITypedBackendResponse<UserImages>>; editAboutMe(newValue: string): Promise<ITypedBackendResponse<EditValueResponse>>; editProfileValue(newValue: string, field: string): Promise<ITypedBackendResponse<EditValueResponse>>; addAthleteCompetition(dto: CreateAthleteCompetitionDto): Promise<ITypedBackendResponse<AthleteCompetition>>; getSportsEvents(dto: GetSportEventsDto): Promise<ITypedBackendResponse<SportsEvent[]>>; getSportsEventsPaginated(dto: { query: EventQueryDto; }): Promise<ITypedBackendResponse<PaginatedEvents>>; createSportsEvent(dto: CreateSportEventDto): Promise<ITypedBackendResponse<SportsEvent>>; updateSportsEvent(dto: { input: UpdateSportEventDto; }): Promise<ITypedBackendResponse<SportsEvent>>; deleteSportsEvent(dto: { eventId: string; }): Promise<ITypedBackendResponse<DeleteSingleValueResponse>>; mergeSportsEvents(dto: MergeSportsEventsDto): Promise<ITypedBackendResponse<MergeEventsResponse>>; getAthleteCompetitions(dto: GetAthleteCompetitionsDto): Promise<ITypedBackendResponse<AthleteCompetition[]>>; getAthleteMemberships(athleteId: string): Promise<ITypedBackendResponse<AthleteMembership[]>>; deleteAthleteCompetition(dto: DeleteSingleValueDto): Promise<ITypedBackendResponse<DeleteSingleValueResponse>>; createFundingCampaign(dto: CreateFundingCampaignDto): Promise<ITypedBackendResponse<FundRaisingCampaign>>; createMembershipOrganization(dto: CreateMembershipOrganizationDto): Promise<ITypedBackendResponse<MembershipOrganizationReference>>; getMembershipOrganizations(): Promise<ITypedBackendResponse<MembershipOrganizationReference[]>>; createAthleteMembershipAffilation(dto: CreateAthleteMembershipDto): Promise<ITypedBackendResponse<AthleteMembership>>; deleteMembershipAffiliation(dto: DeleteSingleValueDto): Promise<ITypedBackendResponse<DeleteSingleValueResponse>>; queryAthleteFundingCampaigns(dto: AthleteQueryDto): Promise<ITypedBackendResponse<AthleteQueryResponse>>; createStripeAccount(dto: CreateStripeAccountDto): Promise<ITypedBackendResponse<StripeAccountReference>>; createAthleteStripeSession(): Promise<ITypedBackendResponse<StripeSession>>; createStripeCheckoutSession(dto: DonationCheckoutDto, _desiredFields?: any): Promise<ITypedBackendResponse<StripeCheckoutSession>>; createStripeLoginLink(): Promise<ITypedBackendResponse<string>>; createStripeAccountLink(): Promise<ITypedBackendResponse<string>>; getStripeBalance(): Promise<ITypedBackendResponse<StripeBalance>>; getDatabaseTextFile(dto: GetDatabaseFileDto): Promise<ITypedBackendResponse<TextDatabaseFile>>; getReceiptUrl(dto: GetReceiptDto): Promise<ITypedBackendResponse<ReceiptUrl>>; stripeQuery(dto: StripeQueryDto): Promise<ITypedBackendResponse<StripeObject>>; setFundingStatus(dto: SetFundingStatusDto, _desiredFields?: any): Promise<ITypedBackendResponse<FundRaisingCampaign>>; findAthleteForIdPublic(id: string): Promise<ITypedBackendResponse<Athlete>>; editPicture(newPicDto: EditPictureDto): Promise<ITypedBackendResponse<EditPictureResponse>>; addAlbumsPictures(dto: UploadAlbumsPicturesDto): Promise<ITypedBackendResponse<AddValuesResponse>>; editAlbumsPictures(dto: UploadAlbumsPicturesDto): Promise<ITypedBackendResponse<Album>>; createAthleteAlbum(dto: UploadAlbumsPicturesDto): Promise<ITypedBackendResponse<Album>>; deleteFundingCampaign(dto: DeleteSingleValueDto): Promise<ITypedBackendResponse<DeleteSingleValueResponse>>; deleteFundingCampaigns(dto: DeleteValuesDto): Promise<ITypedBackendResponse<DeleteValuesResponse>>; updateFundingCampaign(dto: UpdateFundingCampaignDto): Promise<ITypedBackendResponse<FundRaisingCampaign>>; setCurrentCampaign(dto: SetCurrentCampaignDto): Promise<ITypedBackendResponse<FundRaisingCampaign>>; deleteAthleteAlbum(dto: DeleteSingleValueDto): Promise<ITypedBackendResponse<DeleteSingleValueResponse>>; getAthleteAlbums(): Promise<ITypedBackendResponse<Album[]>>; reorderAlbums(dto: EditDisplayIndexDto): Promise<ITypedBackendResponse<Album[]>>; getPublicAthleteAlbums(athleteId: string): Promise<ITypedBackendResponse<Album[]>>; getAthleteAlbumsById(albumId: string): Promise<ITypedBackendResponse<Album>>; getAndSetAlbumById(albumId: string): Promise<ITypedBackendResponse<Album>>; queryAthletesWithFilters(dto: AthleteQueryDto): Promise<ITypedBackendResponse<AthleteQueryResponse>>; getAthleteIntegrationsByAthlete(): Promise<ITypedBackendResponse<AthleteIntegrationReference>>; deleteAthleteIntegration(): Promise<ITypedBackendResponse<boolean>>; getAthleteStravaIntegration(): Promise<ITypedBackendResponse<AthleteIntegrationReference>>; getAthleteInstagramIntegration(): Promise<ITypedBackendResponse<AthleteIntegrationReference>>; getReceipt(dto: GetReceiptDto): Promise<ITypedBackendResponse<Receipt>>; getAthleteIntegrations(): Promise<ITypedBackendResponse<AthleteIntegrationReference>>; getAthleteCampaigns(dto: GetAthleteCampaignsDto): Promise<ITypedBackendResponse<FundRaisingCampaign[]>>; browseCampaigns(dto: BrowseCampaignsDto): Promise<ITypedBackendResponse<BrowseCampaignsResult>>; updateAthleteIntegration(type: string): Promise<ITypedBackendResponse<boolean>>; deleteUploadedTypeKeyFile(dto: AWSS3DeleteUseTypeKeyDto): Promise<ITypedBackendResponse<AWSS3CallResult>>; saveAthleteCompetitionResult(dto: SetCompetitionResultDto): Promise<ITypedBackendResponse<AthleteCompetitionResult>>; updateAthleteScores(): Promise<ITypedBackendResponse<Athlete>>; updateAthleteCompetitionScores(): Promise<ITypedBackendResponse<Athlete>>; forceRefreshAthleteScores(athleteIds: string[], options?: { rebuildHistorical?: boolean; historicalDays?: number; }): Promise<ITypedBackendResponse<ForceScoreRefreshResponse>>; checkScoreRefreshCapabilities(input: { athleteIds: string[]; }): Promise<ITypedBackendResponse<any>>; createResetPasswordCode(email: string): Promise<ITypedBackendResponse<EditValueResponse>>; getResetVerificationCode(id: string): Promise<ITypedBackendResponse<VerificationCodeType>>; verifyCode(input: VerifyCodeDto): Promise<ITypedBackendResponse<CodeVerificationResponse>>; resetUserPassword(input: resetPasswordDto): Promise<ITypedBackendResponse<EditValueResponse>>; deleteAlbumFotos(dto: DeleteValuesDto): Promise<ITypedBackendResponse<DeleteSingleValueResponse>>; screenNameAviability(dto: existValueDto): Promise<ITypedBackendResponse<ExistValueResponse>>; getBudgetsByAthlete(): Promise<ITypedBackendResponse<BudgetData>>; deleteCompetitionBudget(competitionId: string): Promise<ITypedBackendResponse<Boolean>>; addCompetitionBudget(input: AddCompetitionBudgetDto): Promise<ITypedBackendResponse<Boolean>>; editCompetitionBudget(input: EditCompetitionBudgetDto): Promise<ITypedBackendResponse<Boolean>>; editCampaignBudget(input: EditCampaignBudgetDto): Promise<ITypedBackendResponse<Boolean>>; editCompetitionBudgetForCampaign(input: EditCampaignBudgetDto): Promise<ITypedBackendResponse<Boolean>>; getDonationsByAthlete(): Promise<ITypedBackendResponse<Receipt[]>>; getDonationsByMember(): Promise<ITypedBackendResponse<Donation[]>>; findMemberForUser(loginEmail: string): Promise<ITypedBackendResponse<Member>>; getBudgetConcepts(): Promise<ITypedBackendResponse<BudgetConcept[]>>; getBudgetItemsUnits(): Promise<ITypedBackendResponse<BudgetItemUnit[]>>; verifyAthleteCompetitionLinkedForDelete(dto: existValueDto): Promise<ITypedBackendResponse<CompetitionDeleteVerificationResponse>>; forceDeleteAthleteCompetition(dto: DeleteSingleValueDto): Promise<ITypedBackendResponse<DeleteSingleValueResponse>>; registerUser(input: RegisterUserDto): Promise<ITypedBackendResponse<User>>; getDonationsToAthlete(athleteId: string): Promise<ITypedBackendResponse<Donation[]>>; getDonationsToMe(): Promise<ITypedBackendResponse<Donation[]>>; getDonationDatesForCalendar(campaignId?: string): Promise<ITypedBackendResponse<DonationDates>>; getDonationsPaginated(query?: DonationQueryDto): Promise<ITypedBackendResponse<PaginatedDonations>>; getAthleteHistoricalScores(dto: GetHistoricalScoresDto): Promise<ITypedBackendResponse<HistoricalScore[]>>; getMyHistoricalScores(dto: GetMyHistoricalScoresDto): Promise<ITypedBackendResponse<HistoricalScore[]>>; getAthleteHistoricalScoresPeriod(dto: GetHistoricalScoresDto): Promise<ITypedBackendResponse<HistoricalScoresPeriod>>; getMyHistoricalScoresPeriod(dto: GetMyHistoricalScoresDto): Promise<ITypedBackendResponse<HistoricalScoresPeriod>>; getTransactionDetails(dto: GetTransactionDetailsDto): Promise<ITypedBackendResponse<TransactionDetails>>; getAllUsers(): Promise<ITypedBackendResponse<AdminUserView[]>>; getAllTransactions(): Promise<ITypedBackendResponse<AdminTransactionView[]>>; getTransactionsPaginated(args?: { query?: TransactionQueryDto; }): Promise<ITypedBackendResponse<PaginatedTransactions>>; getUsersPaginated(args: { query: UserQueryDto; }): Promise<ITypedBackendResponse<PaginatedUsers>>; updateUserSuspendedStatus(dto: UpdateUserSuspendedStatusDto): Promise<ITypedBackendResponse<EditValueResponse>>; deleteVtxUser(dto: DeleteVtxUserDto): Promise<ITypedBackendResponse<DeleteVtxUserResponse>>; deleteMyAccount(): Promise<ITypedBackendResponse<DeleteVtxUserResponse>>; createOffer(dto: CreateOfferDto): Promise<ITypedBackendResponse<Offer>>; getOffers(): Promise<ITypedBackendResponse<Offer[]>>; getOffersPaginated(args: { query: OfferQueryDto; }): Promise<ITypedBackendResponse<PaginatedOffers>>; getOffersWithEligibility(args: { query?: OfferQueryDto; }): Promise<ITypedBackendResponse<PaginatedOffersWithEligibility>>; getOfferById(id: string): Promise<ITypedBackendResponse<Offer>>; getOffersForAthlete(athleteId: string | null): Promise<ITypedBackendResponse<Offer[]>>; updateOffer(id: string, dto: CreateOfferDto): Promise<ITypedBackendResponse<Offer>>; deleteOffer(id: string): Promise<ITypedBackendResponse<boolean>>; setOfferStatus(id: string, status: string): Promise<ITypedBackendResponse<Offer>>; activateOffer(id: string): Promise<ITypedBackendResponse<Offer>>; deactivateOffer(id: string): Promise<ITypedBackendResponse<Offer>>; uploadCouponCodes(offerId: string, csvContent: string): Promise<ITypedBackendResponse<UploadResult>>; claimOffer(offerId: string, athleteId: string): Promise<ITypedBackendResponse<OfferClaim>>; getMyOfferClaims(args: { athleteId: string; query?: OfferClaimQueryDto; }): Promise<ITypedBackendResponse<OfferClaim[]>>; removeOfferClaim(claimId: string, athleteId: string): Promise<ITypedBackendResponse<boolean>>; updateBrand(id: string, dto: CreateBrandDto): Promise<ITypedBackendResponse<Brand>>; deleteBrand(id: string): Promise<ITypedBackendResponse<boolean>>; linkBrandToSponsor(brandId: string, sponsorId: string): Promise<ITypedBackendResponse<Brand>>; unlinkBrandFromSponsor(brandId: string, sponsorId: string): Promise<ITypedBackendResponse<Brand>>; getSponsors(): Promise<ITypedBackendResponse<Sponsor[]>>; getSponsorsPaginated(args: { query: SponsorQueryDto; }): Promise<ITypedBackendResponse<PaginatedSponsors>>; createSponsor(dto: CreateSponsorDto): Promise<ITypedBackendResponse<Sponsor>>; updateSponsor(id: string, dto: CreateSponsorDto): Promise<ITypedBackendResponse<Sponsor>>; deleteSponsor(id: string): Promise<ITypedBackendResponse<boolean>>; getLeaderboard(args?: { input?: LeaderboardQueryDto; }): Promise<ITypedBackendResponse<LeaderboardResponse>>; getUserRank(args: { input: UserRankQueryDto; }): Promise<ITypedBackendResponse<UserRank>>; rebuildLeaderboardCache(): Promise<ITypedBackendResponse<boolean>>; getAthleteDashboard(athleteId: string): Promise<ITypedBackendResponse<DashboardSummary>>; getAthleteScoreHistory(args: { input: ScoreHistoryQueryDto; }): Promise<ITypedBackendResponse<ScoreHistoryEntry[]>>; getAthleteRankHistory(args: { input: RankHistoryQueryDto; }): Promise<ITypedBackendResponse<RankHistoryEntry[]>>; getAthleteRankContext(args: { input: RankContextQueryDto; }): Promise<ITypedBackendResponse<RankContext>>; getAthleteActivities(args: { input: ActivitiesQueryDto; }): Promise<ITypedBackendResponse<ActivitiesResponse>>; getAthleteActivityDetail(args: { input: ActivityDetailQueryDto; }): Promise<ITypedBackendResponse<ActivityDetail>>; getAthleteComponentSummary(args: { input: ComponentSummaryQueryDto; }): Promise<ITypedBackendResponse<ComponentSummary>>; getSocialAggregates(args: { input: { athleteId: string; platform: Platform; startDate: string; endDate: string; periodType?: PeriodType; }; }): Promise<ITypedBackendResponse<any[]>>; getPostsWithComparison(args: { input: { athleteId: string; platform: Platform; sortBy?: PostSortOption; contentType?: ContentType; limit?: number; offset?: number; comparisonWindowDays?: number; }; }): Promise<ITypedBackendResponse<any>>; getAthleteActivityDates(athleteId: string): Promise<ITypedBackendResponse<ActivityDatesResponse>>; getMyNotifications(options?: { limit?: number; offset?: number; includeRead?: boolean; includeDismissed?: boolean; types?: string[]; }): Promise<ITypedBackendResponse<NotificationListResponse>>; getNotificationUnreadCount(): Promise<ITypedBackendResponse<UnreadCountResponse>>; getMyNotificationPreferences(): Promise<ITypedBackendResponse<NotificationPreference>>; markNotificationAsRead(notificationId: string): Promise<ITypedBackendResponse<Notification>>; markAllNotificationsAsRead(): Promise<ITypedBackendResponse<number>>; dismissNotification(notificationId: string): Promise<ITypedBackendResponse<boolean>>; registerDeviceToken(token: string, platform: string, deviceName?: string): Promise<ITypedBackendResponse<DeviceTokenType>>; unregisterDeviceToken(token: string): Promise<ITypedBackendResponse<boolean>>; updateNotificationPreferences(input: { emailEnabled?: boolean; inAppEnabled?: boolean; pushEnabled?: boolean; mutedTypes?: string[]; }): Promise<ITypedBackendResponse<NotificationPreference>>; followAthlete(athleteId: string): Promise<ITypedBackendResponse<boolean>>; unfollowAthlete(athleteId: string): Promise<ITypedBackendResponse<boolean>>; isFollowingAthlete(athleteId: string): Promise<ITypedBackendResponse<IsFollowingResponse>>; getMyFollowedAthletes(options?: { limit?: number; offset?: number; }): Promise<ITypedBackendResponse<FollowedAthletesListResponse>>; deleteOnboardingAthlete(): Promise<ITypedBackendResponse<{ success: boolean; athleteId?: string; error?: string; }>>; updateOnboardingProgress(step: number, complete?: boolean): Promise<ITypedBackendResponse<{ success: boolean; step?: number; complete?: boolean; error?: string; }>>; getOnboardingProgress(): Promise<ITypedBackendResponse<{ success: boolean; step?: number; complete?: boolean; athleteId?: string; error?: string; }>>; getPublicAthleteIntegrationStatus(athleteId: string): Promise<ITypedBackendResponse<any>>; getEmailCampaigns(args: { status: string; search?: string; page?: number; limit?: number; }): Promise<ITypedBackendResponse<any>>; createEmailCampaign(input: any): Promise<ITypedBackendResponse<any>>; updateEmailCampaign(id: string, input: any): Promise<ITypedBackendResponse<any>>; deleteEmailCampaign(id: string): Promise<ITypedBackendResponse<boolean>>; cloneEmailCampaign(id: string): Promise<ITypedBackendResponse<any>>; sendTestEmail(campaignId: string, email: string): Promise<ITypedBackendResponse<any>>; sendBulkEmail(campaignId: string): Promise<ITypedBackendResponse<any>>; scheduleEmailCampaign(campaignId: string, scheduledFor: string): Promise<ITypedBackendResponse<any>>; cancelScheduledEmail(campaignId: string): Promise<ITypedBackendResponse<any>>; getAudiencePreview(filters: any): Promise<ITypedBackendResponse<any>>; getSendGridTemplates(): Promise<ITypedBackendResponse<any[]>>; getSendGridTemplatePreview(templateId: string): Promise<ITypedBackendResponse<string>>; getEmailSegments(): Promise<ITypedBackendResponse<any[]>>; createEmailSegment(input: any): Promise<ITypedBackendResponse<any>>; updateEmailSegment(id: string, input: any): Promise<ITypedBackendResponse<any>>; deleteEmailSegment(id: string): Promise<ITypedBackendResponse<boolean>>; getAiCoachThread(): Promise<ITypedBackendResponse<any>>; getAiCoachThreadHistory(limit?: number): Promise<ITypedBackendResponse<any[]>>; getAiCoachThreadMessages(threadId: string): Promise<ITypedBackendResponse<any[]>>; getAiCoachConfig(): Promise<ITypedBackendResponse<any>>; sendAiCoachMessage(input: { threadId: string; message: string; }): Promise<ITypedBackendResponse<any>>; updateAiCoachConfig(input: { enabled?: boolean; nudgesEnabled?: boolean; preferredFocus?: string; }): Promise<ITypedBackendResponse<any>>; getAiCoachNudges(input?: { unreadOnly?: boolean; }): Promise<ITypedBackendResponse<any>>; getAiCoachUnreadNudgeCount(): Promise<ITypedBackendResponse<any>>; markAiCoachNudgeRead(nudgeId: string): Promise<ITypedBackendResponse<any>>; } import { UserImages } from '../client';