import { AchievementProgressItem, RewardsUser, SwapStreakClient, TaskProgress } from '../types';
export interface GetRewardsUserRes {
    message: string;
    user: RewardsUser | undefined;
}
export declare const getRewardsUser: (ethereumAddress: string) => Promise<GetRewardsUserRes>;
interface ConnectRewardsUserRes {
    message: string;
    user: RewardsUser;
    isFirstTimeUser: boolean;
    signature: string;
}
export declare const connectRewardsUser: (ethereumAddress: string, signature: string, firstProxyAddress: string) => Promise<ConnectRewardsUserRes>;
interface InputDataTypes {
    ethereumAddress: string;
    signature: string;
    username?: string;
    profileImage?: string;
    proxyAddress?: string;
}
interface UpdateRewardsUserRes {
    message: string;
    user: RewardsUser;
}
export declare const updateRewardsUser: (inputData: InputDataTypes) => Promise<UpdateRewardsUserRes>;
interface CheckUsernameAvailabilityRes {
    available: boolean;
}
export declare const checkUsernameAvailability: (username: string) => Promise<CheckUsernameAvailabilityRes>;
interface GetSwapStreakRes {
    message: string;
    swapStreak: SwapStreakClient;
}
export declare const getSwapStreak: (ethereumAddress: string) => Promise<GetSwapStreakRes>;
interface GetTasksProgressRes {
    success: boolean;
    userTasks: TaskProgress[];
    userAchievements: AchievementProgressItem[];
    brotherhoodTasks: TaskProgress[];
    completedTasks: string[];
    brotherhoodCompletedTasks: string[];
    pointsToShowInCongratsPopup: number;
}
export declare const getTasksProgress: (ethereumAddress: string) => Promise<GetTasksProgressRes>;
interface DisconnectSocialNetworkRes {
    message: string;
    user: RewardsUser;
}
interface DisconnectSocialNetworkProps {
    ethereumAddress: string;
    socialWebsiteId: string;
    signature: string;
    proxyAddress: string;
}
export declare const disconnectSocialNetwork: ({ ethereumAddress, socialWebsiteId, signature, proxyAddress, }: DisconnectSocialNetworkProps) => Promise<DisconnectSocialNetworkRes>;
interface GetNftMultiplierRes {
    nftMultiplier: number;
}
export declare const getNftMultiplier: (ethereumAddress: string) => Promise<GetNftMultiplierRes>;
export {};
