export interface User { /** * Unique user ID */ id: number; username: string; firstname: string; lastname?: string; /** * A combination of first and last names or a username that would naturally appear on the site */ fullname: string; /** * User's about text */ about: string; /** * Number of people this user is being followed by */ followers_count: number; /** * City as specified in user's profile */ city: string; /** * State as specified in user's profile */ state: string; /** * Country as specified in user's profile */ country: string; /** * When this user registered in timestamp */ registration_date: string; /** * A list of different avatar sizes. */ avatars: UserAvatarSizes; /** * Profile picture's URL of the user */ userpic_url: string; userpic_https_url: string; cover_url: string | null; /** * Type of user's account. * * 8 = Editor * * 9 = Admin * * 13 = Alumnus * * 10 = AMBASSADOR * * Note: * * Other numeric type IDs are unknown/undiscovered. * * Please create an issue or submit a PR if you have any further information. * https://github.com/Scrip7/500px-api */ usertype: number; /** * Active status of user * * 0 - Not active * * 1 - Active * * 2 - Deleted by user * * 3 - Banned */ active: number; /** * Affection value of user */ affection: number; /** * Whether the user is a premium user. * * Non-zero values identify premium users; * a value of 2 identifies an Awesome user while a value of 1 identifies a Plus user. * * Other states may be added in the future, so write your parsers accordingly. */ upgrade_status: number; /** * A boolean value indicating whether or not you are following this user */ following: boolean; avatar_version: number; } export interface UserAvatarSizes { /** * Up to 300x300px */ default: UserAvatar; /** * Up to 100x100px */ large: UserAvatar; /** * Up to 50x50px */ small: UserAvatar; /** * Up to 30x30px */ tiny: UserAvatar; cover: UserAvatar; } export interface UserAvatar { /** * HTTPs URL of the image */ https: string; }