import { ScheduledTasksTypes } from '@oneblink/types'; export interface TaskAvailability { task: ScheduledTasksTypes.Task; completedTask?: ScheduledTasksTypes.CompletedTask; daysAvailable: number; } export interface TaskResponse extends TaskAvailability { actions: ScheduledTasksTypes.TaskAction[]; } export type AdhocTaskResponse = Pick; /** * Obtain all of the related Tasks for a specific Forms App * * #### Example * * ```js * const formsAppId = 1 * const date = '2023-12-01' * const tasks = await getTasksForFormsApp({ formsAppId, date }) * ``` * * @param formsAppId * @param abortSignal * @returns */ export declare function getTasksForFormsApp({ formsAppId, date, abortSignal, }: { formsAppId: number; date: string; abortSignal?: AbortSignal; }): Promise<{ taskResponses: TaskResponse[]; availableAdhocTasks: AdhocTaskResponse[] | undefined; }>; /** * Obtain all of the tasks related to a Task Group Instances in a specific Forms * App * * #### Example * * ```js * const formsAppId = 1 * const taskGroupInstanceId = 'abc123' * const date = '2023-12-01' * const tasks = await getTaskGroupInstanceTasks({ * formsAppId, * taskGroupInstanceId, * date, * }) * ``` * * @param formsAppId * @param taskGroupInstanceId * @param abortSignal * @returns */ export declare function getTaskGroupInstanceTasks({ taskGroupInstanceId, date, formsAppId, abortSignal, }: { taskGroupInstanceId: string; date: string; formsAppId: number; abortSignal?: AbortSignal; }): Promise<{ taskResponses: TaskResponse[]; availableAdhocTasks: AdhocTaskResponse[] | undefined; taskGroup: ScheduledTasksTypes.TaskGroup; taskGroupInstance: ScheduledTasksTypes.TaskGroupInstance; }>; /** * Obtain all of the Task Group instances for a specific Forms App * * #### Example * * ```js * const formsAppId = 1 * const taskGroupInstances = await getTaskGroupInstances(formsAppId) * ``` * * @param formsAppId * @param abortSignal * @returns */ export declare function getTaskGroupInstances(formsAppId: number, abortSignal?: AbortSignal): Promise<{ taskGroupInstances: Array; }>; /** * Complete the related Task for a specific Forms App * * #### Example * * ```js * const formsAppId = 1 * const taskId = 2 * const completedTask = await scheduledTasksService.completeTask({ * formsAppId, * taskId, * }) * ``` * * @param options * @returns */ export declare function completeTask({ formsAppId, taskId, taskActionId, taskGroupInstanceId, completedAt, isAdhoc, abortSignal, }: { formsAppId: number; taskId: string; taskActionId: string; taskGroupInstanceId: string | undefined; completedAt: string | undefined; isAdhoc?: boolean; abortSignal?: AbortSignal; }): Promise; /** * Delete the completed task record related to a Task for a specific Forms App * * #### Example * * ```js * const formsAppId = 1 * const taskId = 2 * const completedTask = await scheduledTasksService.completeTask({ * formsAppId, * taskId, * }) * await deleteCompletedTask(completedTask.id) * ``` * * @param id * @param abortSignal * @returns */ export declare function deleteCompletedTask(id: string, abortSignal?: AbortSignal): Promise;