export interface DropboxFile {
  link: string;
  name: string;
  bytes: number;
  icon: string;
  id: string;
  isDir: boolean;
}

export interface GoogleDriveFile {
  id?: string;
  name?: string;
  mimeType?: string;
  url: string;
  isGoogleDriveFile?: true;
  lastModified?: number;
  size: number;
  type: string;
}

export interface PickerResponse {
  action: string;
  docs: Array<{
    id: string;
    name: string;
    mimeType: string;
  }>;
  [key: string]: unknown;
  error?: string;
  access_token?: string;
}

export interface UploadFileResponse {
  success: boolean;
  ETag: string;
  Location: string;
  key: string;
  url: string;
  originalUrl?: string;
}

export interface UploadFile {
  image?: string | null;
  id?: string;
  name?: string;
  mimeType?: string;
  isGoogleDriveFile?: true;
  lastModified?: number;
  size?: number;
  type?: string;
  original?: string;
  convertImage?: string;
  page?: string;
  spotUV?: string;
  designData?: Record<string, unknown>;
}

export interface PrivewFile {
  convertUrl?: string | null;
  previewUrl?: string | null;
}
