import React, { ReactNode } from "react";
type UserProfileResource = {
    id: string;
    name: string;
    email: string;
    [key: string]: any;
};
type LearningStyle = any;
type Subject = any;
interface UserContextType {
    isAuthenticated: boolean;
    userId: string | null;
    isVerifying: boolean;
    userProfile: UserProfileResource | null;
    logout: () => void;
    updateProfile: (profile: Partial<UserProfileResource>) => Promise<UserProfileResource | null>;
    updateLearningStyles: (styles: LearningStyle[]) => Promise<boolean>;
    addSubject: (subject: Subject, level?: number) => Promise<boolean>;
    loading: boolean;
    error: string | null;
}
export declare const useUser: () => UserContextType;
interface UserProviderProps {
    children: ReactNode;
    apiBaseUrl: string;
}
export declare const UserProvider: React.FC<UserProviderProps>;
export {};
