import { DirectoryEntity } from './DirectoryEntity'; import { MediaDimension, MediaDTO, MediaMetadata } from '../../../../common/entities/MediaDTO'; import { PersonJunctionTable } from './person/PersonJunctionTable'; import { CameraMetadata, FaceRegion, GPSMetadata, PositionMetaData } from '../../../../common/entities/PhotoDTO'; export declare class MediaDimensionEntity implements MediaDimension { width: number; height: number; } export declare class CameraMetadataEntity implements CameraMetadata { ISO: number; model: string; make: string; fStop: number; exposure: number; focalLength: number; lens: string; } export declare class GPSMetadataEntity implements GPSMetadata { latitude: number; longitude: number; } export declare class PositionMetaDataEntity implements PositionMetaData { GPSData: GPSMetadataEntity; country: string; state: string; city: string; } export declare class MediaMetadataEntity implements MediaMetadata { caption?: string; title?: string; size: MediaDimensionEntity; /** * Date in local timezone * Reason: If you look back your holiday photos from a different timezone, * you do not want to see 2AM next to a photo that was taken during lunch */ creationDate: number; creationDateOffset?: string; fileSize: number; keywords: string[]; cameraData: CameraMetadataEntity; positionData: PositionMetaDataEntity; rating: 0 | 1 | 2 | 3 | 4 | 5; personJunction: PersonJunctionTable[]; faces: FaceRegion[]; /** * Caches the list of persons. Only used for searching */ persons: string[]; /** * Caches the list of persons' length. Only used for searching */ personsLength: number; bitRate: number; duration: number; } export declare abstract class MediaEntity implements MediaDTO { id: number; name: string; directory: DirectoryEntity; metadata: MediaMetadataEntity; missingThumbnails: number; }