export interface UserProfile {
    id: string;
    email: string;
    full_name: string;
    username: string;
}
export interface CourseEnrollment {
    id: string;
    course_id: string;
    user_id: string;
    progress: number;
    started_at: string;
    completed_at?: string;
    last_accessed_at: string;
    title: string;
    description: string;
    difficulty_level: string;
    slug?: string;
    tags: string[];
    primary_category: string;
    estimated_duration?: string;
}
export interface Course {
    id: string;
    title: string;
    description: string;
    difficulty_level: string;
    status: string;
    tags: string[];
    primary_category: string;
    estimated_duration?: string;
    is_featured: boolean;
    slug?: string;
}
export interface CourseLesson {
    id: string;
    module_id: string;
    title: string;
    content?: string;
    lesson_type: string;
    duration_minutes?: number;
    order_index: number;
    is_free: boolean;
}
export interface CourseModule {
    id: string;
    course_id: string;
    title: string;
    description?: string;
    order_index: number;
}
export declare function getUserProfile(email: string): Promise<UserProfile | null>;
export declare function getUserPreferences(userProfileId: string): Promise<any | null>;
export declare function getUserEnrollments(email: string): Promise<CourseEnrollment[]>;
export declare function getPublishedCourses(): Promise<Course[]>;
export declare function getCourseByIdentifier(identifier: string): Promise<Course | null>;
export declare function getCourseModules(courseId: string): Promise<CourseModule[]>;
export declare function getCourseLessons(moduleId: string): Promise<CourseLesson[]>;
export declare function getCourseFirstLesson(courseId: string): Promise<CourseLesson | null>;
export declare function enrollUserInCourse(userId: string, courseId: string): Promise<boolean>;
export declare function updateUserProgress(userId: string, courseId: string, progress: number): Promise<boolean>;
export declare function verifyAuthCode(email: string, authCode: string): Promise<{
    success: boolean;
    message: string;
}>;
export declare function getLessonSteps(lessonId: string): Promise<any[]>;
export declare function getStepById(stepId: string): Promise<any | null>;
export declare function markStepComplete(userProfileId: string, stepId: string): Promise<boolean>;
export declare function getUserStepProgress(userProfileId: string, courseId: string): Promise<{
    totalSteps: number;
    completedSteps: number;
    progress: number;
}>;
export declare function getNextStep(userId: string, lessonId: string, currentStepId?: string): Promise<any | null>;
//# sourceMappingURL=database-helper.d.ts.map