import ILovePDFTool from "../types/ILovePDFTool"; import { TaskParams } from "./Task"; import Auth from "../auth/Auth"; import XHRInterface from "../utils/XHRInterface"; import TaskI from "./TaskI"; export interface TaskFactoryI { newTask: (taskType: ILovePDFTool, auth: Auth, xhr: XHRInterface, params?: TaskParams) => TaskI; } export default class TaskFactory implements TaskFactoryI { /** * Factory method to create a task with the correct params. * @param taskType - Task type that will use a specific ILovePDF tool. * @param params - Parameters to customize the process. */ newTask(taskType: ILovePDFTool, auth: Auth, xhr: XHRInterface, params?: TaskParams): TaskI; }