import { HttpWebRequestService } from '../../services/http-web-request.service';
import { Paged } from '../../models/paged';
import { Task } from '../../models/Task';
import { Observable } from 'rxjs';
import { WorkflowAction } from '../../models/WorkflowAction';
import { Actor } from '../../models/Actor';
import { Form } from '../../models/Form';
import * as i0 from "@angular/core";
export declare class MyQueueService {
    private httpService;
    private readonly BASE_URL;
    constructor(httpService: HttpWebRequestService);
    /**
     * Get tasks with pagination and sorting
     * @param skip Number of records to skip
     * @param limit Number of records to take
     * @param sortParam Sort parameter
     * @param sortOrder Sort order ('asc' or 'desc')
     * @returns Promise containing the tasks
     */
    getTasks(skip: number, limit: number, sortParam: string, sortOrder: string): Promise<Paged<Task>>;
    /**
     * Get tasks with additional parameter, pagination and sorting
     * @param param Search parameter
     * @param skip Number of records to skip
     * @param limit Number of records to take
     * @param sortParam Sort parameter
     * @param sortOrder Sort order ('asc' or 'desc')
     * @returns Promise containing the filtered tasks
     */
    getTaskWithParam(param: string, skip: number, limit: number, sortParam: string, sortOrder: string): Promise<Paged<Task>>;
    /**
     * Save multiple tasks
     * @param requests Array of tasks to save
     * @returns Promise containing the save operation result
     */
    saveTasks(requests: Task[]): Promise<any>;
    /**
     * Approve or reject multiple tasks
     * @param requests Array of tasks to save
     * @param isApproval True for approval, false for decline
     * @returns Promise containing the save operation result
     */
    processTasks(requests: Task[], isApproval: boolean): Promise<any>;
    /**
     * Delete multiple tasks
     * @param requestIds Array of request IDs to delete
     * @returns Observable containing the delete operation result
     */
    deleteTasks(requestIds: string[]): Observable<any>;
    getTasksForUser(user: string, skip: number, limit: number, sortParam: string, sortOrder: string): Promise<Paged<Task>>;
    getQueueTasksForUser(user: string, skip: number, limit: number, sortParam: string, sortOrder: string): Promise<Paged<Task>>;
    getPossibleTasksForUser(user: string, skip: number, limit: number, sortParam: string, sortOrder: string): Promise<Paged<Task>>;
    getNextActions(taskCode: string): Promise<WorkflowAction[]>;
    getPreviousActions(taskCode: string): Promise<WorkflowAction[]>;
    getAllPreviousActions(taskCode: string): Promise<WorkflowAction[]>;
    getNextActors(taskCode: string, stageCode?: string): Promise<Actor[]>;
    passOn(fromStage: string, toStage: string, task: Task, comment: string, recipient?: string): Promise<Task>;
    passBack(fromStage: string, toStage: string, task: Task, comment: string, recipient?: string): Promise<Task>;
    pickTask(targetStage: string, task: Task, comment: string, recipient?: string): Promise<Task>;
    unPickTask(targetStage: string, task: Task, comment: string, recipient?: string): Promise<Task>;
    followTask(actorId: string, task: Task): Promise<Task>;
    unFollowTask(taskId: string, actorId: string): Promise<void>;
    reAssign(task: Task, comment: string, fromUser?: string, toUser?: string): Promise<Task>;
    skipTo(fromStage: string, toStage: string, task: Task, comment: string, recipient?: string, isBackward?: boolean): Promise<Task>;
    getCurrentFormsForTask(taskCode: string): Promise<Form[]>;
    fillForm(form: Form, taskCode: string): Promise<Form>;
    static ɵfac: i0.ɵɵFactoryDeclaration<MyQueueService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<MyQueueService>;
}
