import { Feature } from '../options/photo'; import { CategoryID } from './category'; import { Image } from './image'; import { User } from './user'; export declare type PhotoPrivacyLevel = 0 | 1 | 2; export interface PhotoFillSwitch { access_deleted: boolean; access_private: boolean; include_deleted: boolean; exclude_private: boolean; exclude_nude: boolean; always_exclude_nude: boolean; exclude_block: boolean; current_user_id?: number; only_user_active: boolean; include_tags: boolean; include_geo: boolean; include_licensing: boolean; include_admin_locks: boolean; include_like_by: boolean; include_comments: boolean; include_user_info: boolean; include_follow_info: boolean; include_equipment_info: boolean; } export interface Photo { id: number; name: string; description: string; url: string; /** * Category unique ID */ category: CategoryID; /** * The width of the original, un-resized photo */ width: number; /** * The height of the original, un-resized photo */ height: number; /** * Pulse is a score out of 100 points that measures how popular a photo is. * Pulse is calculated by an algorithm, which is unique to 500px and is * based on engagement activities from the community on your photo. * @type Decimal */ rating: number; /** * The highest rating this photo has/had from 0 to 100 */ highest_rating: number; /** * The date the highest rating was reached on */ highest_rating_date: string; /** * Extension of the image file */ image_format: string; /** * List of the image */ images: Image[]; /** * @deprecated Array with images URL, use `images` field instead. */ image_url?: string[]; /** * A human-readable name of the location where the photo was taken */ created_at: string; /** * Timestamp of when the photo was taken */ taken_at?: string; user_id: number; user: User; /** * A human-readable name of the location where the photo was taken */ location?: string; /** * Latitude of the location where the photo was taken * @type Decimal */ latitude?: number; /** * Longitude of the location where the photo was taken * @type Decimal */ longitude?: number; shutter_speed: string; /** * Shutter speed value of the shot */ focal_length: string; /** * Aperture value of the shot */ aperture: string; /** * Make and model of the camera this photo was made with */ camera: string; /** * This photo's camera lens information */ lens: string; /** * ISO value of the shot */ iso: string; /** * Boolean value whether the current photo is NSFW */ nsfw: boolean; /** * Boolean value whether the current photo has NSFW tags */ has_nsfw_tags: boolean; /** * Has watermark on it? */ watermark: boolean; /** * Number of comments this photo has */ comments_count: number; /** * Number of votes cast on this photo */ votes_count: number; positive_votes_count: number; /** * The number of views this photo has (AKA Impression). * An impression is counted any time your photo is viewed anywhere on 500px. * For example, this includes as a thumbnail or in a feed while scrolling. */ times_viewed: number; /** * The section of the site this photo appears under. */ feature?: Feature; /** * Timestamp indicating when gallery was featured */ feature_date?: string; fill_switch: PhotoFillSwitch; /** * Status of the photo in the system. * An active photo always has the status of 1. */ status: number; /** * Boolean value whether or not the community page of this photo is available. * A value of true means the page is not available. */ privacy: boolean; /** * 0 = Public * * 1 = Private * * 2 = Profile */ privacy_level: PhotoPrivacyLevel; profile: boolean; /** * Boolean value indicating whether or not the photo is in Editors' Choice */ editors_choice: boolean; editors_choice_date?: string; /** * Boolean value whether the current user has voted for this photo */ voted?: boolean; /** * An array of tags for each photo */ tags?: string[]; /** * Boolean value if the picture is available for Prime purchase. */ store_license?: boolean; /** * If you know the correct type of these values, please fill an issue and describe them. * https://github.com/Scrip7/500px-api/issues */ editored_by?: unknown; liked?: unknown; licensing_info?: unknown; licensing_status?: unknown; licensing_type?: unknown; licensing_usage?: unknown; location_details?: { attraction: unknown[]; county: unknown[]; state: unknown[]; city: unknown[]; location_id: unknown; country: string[]; }; }