import Timedoctor from "./Timedoctor"; export declare type TasksQuery = { offset?: number; limit?: number; status?: "all" | "active" | "inactive"; latest_first?: 0 | 1; }; export declare type TaskRespObj = { task_id: number; project_id: number; project_name: string; task_name: string; active: boolean; user_id: number; assigned_by: number; url: string; task_link: string; }; export declare type TasksResponse = { count: string; url: string; offset: number; limit: string; tasks: TaskRespObj[]; }; export declare type TaskPost = { task_name: string; project_id: number; category_id?: number; user_id?: number; task_link?: string; }; export declare type TaskUpdate = { task_name: string; project_id?: number; category_id?: number; user_id?: number; task_link?: string; }; /** * @class Tasks * @property {Timedoctor} td * @property {function(start_date: Date, end_date: Date, params?)} get * @property {function(reasons, params?)} put */ export default class Tasks { /** * @param td {Timedoctor} */ td: Timedoctor; constructor(td: Timedoctor); /** * Get projects list * @param user_id {string} * @param {{userId?: , offset?: number, limit?: number}} params * @return {Promise} return */ list(user_id: string, params?: TasksQuery): Promise>; /** * Get a specific task * @param {string} user_id * @param {string} task_id * @return {Promise>} */ get(user_id: string, task_id: string): Promise>; /** * Create a task * @param {string} user_id * @param {TaskPost} task * @return {Promise>} */ create(user_id: string, task: TaskPost): Promise>; /** * Update a task * @param {string} user_id * @param {string} task_id * @param {TaskPost} task * @return {Promise>} */ update(user_id: string, task_id: string, task: TaskUpdate): Promise>; }