export interface User { id: number; first_name: string | null; last_name: string | null; email: string | null; mobile: string | null; avatar: string | null; uuid: string; is_admin: boolean; wallet: number; created_at: string; updated_at: string; birthday: string | null; gender: string | null; email_verified_at: string | null; remember_token: string | null; full_name: string | null; products: UserProduct[]; } export interface UserProduct { id: number; package_name_id: number; title: string | null; price: number | null; type: number | null; uuid: string; created_at: string; updated_at: string; descriptions: string[] | null; pivot: ProductPivot; package_name: PackageName | null; } export interface ProductPivot { user_id: number; product_id: number; expire_at: string | null; purchase_token: string | null; gateway: string | null; created_at: string; updated_at: string; } export interface PackageName { id: number; name: string | null; title: string | null; image: string | null; v1_identifier: string | null; uuid: string; created_at: string; updated_at: string; cafe_config_id: string | null; myket_access_token: string | null; web_app_url: string | null; tries: number | null; } export interface Product { id: number; title: string | null; price: number | null; type: number | null; descriptions: string[] | null; } export interface UserSearchParams { searchTerm: string; package_name: string; } export interface UpdateUserProfileData { first_name?: string | null; last_name?: string | null; email?: string | null; mobile?: string | null; avatar?: File | null; } export interface ApiResponse { data: T; message?: string | null; status?: number | null; }