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';
