///
import { PathLike } from 'fs';
import { BaseRoute } from './BaseRoute';
import { Request } from '../structures/Request';
import { RequestParams } from '../utils/buildSearchParams';
export declare class Tasks extends BaseRoute {
/**
* @constructor
* @param {Request} request A request instance
*/
constructor(request: Request);
/**
* Get a task
*
* @param {String} taskId The task id
* @param {Object} [options] The parameter options to pass in
*/
get(taskId: string, options?: RequestParams): Promise>;
/**
* Update a task
*
* @param {String} taskId The task id
* @param {Object} data The task data
* @param {Object} [options] The parameter options to pass in
*/
update(taskId: string, data: object, options?: RequestParams): Promise>;
/**
* Delete a task
*
* @param {String} taskId The task id
* @param {Object} [options] The parameter options to pass in
*/
delete(taskId: string, options?: RequestParams): Promise>;
/**
* Add an attachment to a task
*
* @param {String} taskId The task id
* @param {Object} fileSettings The file settings
* @param {String} fileSettings.filePath The path to the file
* @param {String} fileSettings.fileName The name of the attachment file along with its extension type. Example: 'notes.txt'
* @param {Object} [options] The parameter options to pass in
*/
addAttachment(taskId: string, fileSettings: {
filePath: PathLike;
fileName: string;
}, options?: RequestParams): Promise>;
/**
* Add a comment to as task
*
* @param {String} taskId The task id
* @param {Object} data The comment data
* @param {Object} [options] The parameter options to pass in
*/
addComment(taskId: string, data: object, options?: RequestParams): Promise>;
/**
* Get all comments on a task
*
* @param {String} taskId The task id
* @param {Object} [options] The parameter options to pass in
*/
getComments(taskId: string, options?: RequestParams): Promise>;
/**
* Create a checklist in a task
*
* @param {String} taskId The task id
* @param {Object} data The checklist data
* @param {Object} [options] The parameter options to pass in
*/
createChecklist(taskId: string, data: object, options?: RequestParams): Promise>;
/**
* Add a custom field value for a task
*
* @param {String} taskId The task id
* @param {String} fieldId The custom field id
* @param {Object} data The custom field data
* @param {Object} [options] The parameter options to pass in
*/
addCustomFieldValue(taskId: string, fieldId: string, data: object, options?: RequestParams): Promise>;
/**
* Delete a custom field value for a task
*
* @param {String} taskId The task id
* @param {String} fieldId The custom field id
* @param {Object} [options] The parameter options to pass in
*/
deleteCustomFieldValue(taskId: string, fieldId: string, options?: RequestParams): Promise>;
/**
* Create a dependency for a task
*
* @param {String} taskId The task id
* @param {Object} data The dependency data
* @param {Object} [options] The parameter options to pass in
*/
addDependency(taskId: string, data: object, options?: RequestParams): Promise>;
/**
* Delete a dependency for a task
*
* @param {String} taskId The task id
* @param {Object} options The parameter options to pass in
*/
deleteDependency(taskId: string, options?: RequestParams): Promise>;
/**
* Add a task link
*
* @param {String} taskId The task id
* @param {String} linksTo The id of the task to link to
* @param {Object} [options] The parameter options to pass in
*/
addTaskLink(taskId: string, linksTo: string, options?: RequestParams): Promise>;
/**
* Delete a task link
*
* @param {String} taskId The task id
* @param {String} linksTo The id of the task to link to
* @param {String} [options] The parameter options to pass in
*/
deleteTaskLink(taskId: string, linksTo: string, options?: RequestParams): Promise>;
/**
* Add a guest to a task
*
* @param {String} taskId The task id
* @param {Number} guestId The guest id
* @param {Object} data The guest data
* @param {Object} [options] The parameter options to pass in
*/
addGuest(taskId: string, guestId: number, data: object, options?: RequestParams): Promise>;
/**
* Remove a guest from a task
*
* @param {String} taskId The task id
* @param {Number} guestId The guest id
* @param {Object} [options] The parameter options to pass in
*/
removeGuest(taskId: string, guestId: number, options?: RequestParams): Promise>;
/**
* Get all members of a task
*
* @param {String} taskId The task id
*/
getMembers(taskId: string): Promise>;
/**
* Add a tag to a task
*
* @param {String} taskId The task id
* @param {String} tagName The tag name
* @param {Object} [options] The parameter options to pass in
*/
addTag(taskId: string, tagName: string, options?: RequestParams): Promise>;
/**
* Remove a tag from a task
*
* @param {String} taskId The task id
* @param {String} tagName The tag name
* @param {Object} [options] The parameter options to pass in
*/
removeTag(taskId: string, tagName: string, options?: RequestParams): Promise>;
/**
* Track time for a task (Time Tracking Legacy API)
*
* @param {String} taskId The task id
* @param {Object} data The time tracking data
* @param {Object} [options] The parameter options to pass in
*/
trackTime(taskId: string, data: object, options?: RequestParams): Promise>;
/**
* Get tracked time for a task (Time Tracking Legacy API)
*
* @param {String} taskId The task id
* @param {Object} [options] The parameter options to pass in
*/
getTrackedTime(taskId: string, options?: RequestParams): Promise>;
/**
* Edit tracked time for a task (Time Tracking Legacy API)
*
* @param {String} taskId The task id
* @param {String} intervalId The interval id
* @param {Object} data The time tracking data
* @param {Object} [options] The parameter options to pass in
*/
editTrackedTime(taskId: string, intervalId: string, data: object, options?: RequestParams): Promise>;
/**
* Delete tracked time for a task
*
* @param {String} taskId The task id
* @param {String} intervalId The interval id
* @param {Object} [options] The parameter options to pass in
*/
deleteTrackedTime(taskId: string, intervalId: string, options?: RequestParams): Promise>;
/**
* Get tasks time in status
*
* @param {String} taskId The task id
* @param {Object} options The parameter options to pass in
*/
getTimeInStatus(taskId: string, options?: RequestParams): Promise>;
/**
* Get bulk tasks time in status
*
* @param {Object} options The parameter options to pass in
*/
getBulkTimeInStatus(options?: RequestParams): Promise>;
}