import { Rating, PrintItem, OnlineItem } from './item'; import { ProjectType, ProjectSQL } from './project'; import { MediaPrintSQL, MediaTypeSQL, GenreSQL, MediaOnlineSQL } from './media'; export declare type DisplayType = 'full' | 'list'; export declare type StatsType = 'charts' | 'plain' | 'none'; export declare type SortingType = 'chrono' | 'alpha' | 'types' | 'genres' | 'circulation' | 'order'; export interface PdfTableItem { id: number; checked: boolean; image: string; imageOriginal: string; media: string; mediaType: string; date: Date; rating: Rating; ivw: number; type: ProjectType; } export interface PdfItem { id: number; project_id: number; token: string; date: string; expire: Date; hash: { [key: string]: any; }; dir: string; } export interface PdfResult { downloadUrl: string; token: string; } export interface PdfItemSQL { id: number; project_id: number; token: string; date: string; expire: string; hash: string; dir: string; } export interface PdfGenerateOptions { projectId: number; projectType: ProjectType; displayType: DisplayType; printIds: number[]; onlineIds: number[]; uuid: string; cover: boolean; quotes: boolean; mediaValues: boolean; } export interface PdfGenerateResult { token: string; downloadUrl: string; } export interface PdfPrintItem extends PrintItem { media: MediaPrintSQL; mediaType: MediaTypeSQL; genre: GenreSQL; drawMediaValues: boolean; drawCover: boolean; drawQuotes: boolean; } export interface PdfOnlineItem extends OnlineItem { media: MediaOnlineSQL; mediaType: MediaTypeSQL; genre: GenreSQL; drawMediaValues: boolean; drawCover: boolean; drawQuotes: boolean; } export interface PdfStats { rating: string; genres: string; title: string; clippings: number; mediaValue: number; circulation: number; } export interface PdfProjectItem extends ProjectSQL { items: (PdfPrintItem | PdfOnlineItem)[]; }