export interface PhotosSdkModel { baseUrl: string; accessToken?: string; } export declare type UserId = string; export interface User { id: UserId; uuid: string; bucketId: string; createdAt: Date; updatedAt: Date; } export interface UserJSON extends Omit { createdAt: string; updatedAt: string; } export interface InitializeUserData { mac: string; name: string; bridgeUser: string; bridgePassword: string; } export declare type DeviceId = string; export interface Device { id: DeviceId; mac: string; name: string; userId: string; newestDate: Date; oldestDate: Date | null; createdAt: Date; updatedAt: Date; } export interface DeviceJSON extends Omit { newestDate: string; oldestDate: string | null; createdAt: string; updatedAt: string; } export interface CreateDeviceData { mac: string; name: string; userId: string; } export declare enum PhotoStatus { Exists = "EXISTS", Trashed = "TRASHED", Deleted = "DELETED" } export declare type FileId = string; export declare type PhotoId = string; export declare type PhotoPreviewType = 'PNG' | 'JPEG'; export interface Photo { id: PhotoId; name: string; type: string; size: number; width: number; height: number; fileId: FileId; previewId: FileId; previews?: { width: number; height: number; size: number; fileId: FileId; type: PhotoPreviewType; }[]; deviceId: DeviceId; userId: string; status: PhotoStatus; statusChangedAt: Date; hash: string; takenAt: Date; createdAt: Date; updatedAt: Date; } export interface PhotoWithDownloadLink extends Photo { previewLink: string; previewIndex: string; } export interface PhotoJSON extends Omit { statusChangedAt: string; takenAt: string; createdAt: string; updatedAt: string; } export declare type CreatePhotoData = Omit & { networkBucketId: string; }; export declare type ShareId = string; export interface Share { id: ShareId; bucket: string; photoIds: PhotoId[]; token: string; views: number; createdAt: Date; updatedAt: Date; } export interface ShareJSON extends Omit { createdAt: string; updatedAt: string; } export declare type CreatePhotoShareBody = Pick & { encryptedMnemonic: string; }; export declare type GetPhotoShareResponse = Share & { photos: (Pick & { decryptionKey: string; })[]; }; export declare type PhotoExistsPayload = { hash: string; name: string; takenAt: string; }; export declare type PhotoExistsDataJSON = (PhotoExistsPayload | PhotoJSON) & { exists: boolean; }; export declare type PhotoExistsData = ((Omit & { takenAt: Date; }) | Photo) & { exists: boolean; }; export declare type PhotosUsage = { usage: number; };