import { Workflow } from '../../models/Workflow';
import { Paged } from '../../models/paged';
import { HttpWebRequestService } from '../../services/http-web-request.service';
import { Observable } from 'rxjs';
import { SearchPropertyValue } from '../../models/SearchPropertyValue';
import { FormEntity } from '../../models/FormEntity';
import { Tag } from '../../models/Tag';
import { EnvironmentService } from '../../services/environment.service';
import * as i0 from "@angular/core";
export declare class WorkflowsService {
    private httpService;
    private envSvc;
    private readonly BASE_URL;
    constructor(httpService: HttpWebRequestService, envSvc: EnvironmentService);
    /**
     * Get user access requests 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 user access requests
     */
    getWorkflows(skip: number, limit: number, sortParam: string, sortOrder: string): Promise<Paged<Workflow>>;
    /**
     * Get user access requests 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 user access requests
     */
    getWorkflowWithParam(param: string, skip?: number, limit?: number, sortParam?: string, sortOrder?: string): Promise<Paged<Workflow>>;
    /**
     * Get user access requests with additional parameter, pagination and sorting
     * @param params Filter parameters
     * @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 user access requests
     */
    getWorkflowByFilterParams(params: SearchPropertyValue[], skip: number, limit: number, sortParam: string, sortOrder: string): Promise<Paged<Workflow>>;
    /**
     * Save multiple user access requests
     * @param requests Array of user access requests to save
     * @returns Promise containing the save operation result
     */
    saveWorkflows(requests: Partial<Workflow>[]): Promise<any>;
    /**
     * Approve or reject multiple user access requests
     * @param requests Array of user access requests to save
     * @param isApproval True for approval, false for decline
     * @returns Promise containing the save operation result
     */
    processWorkflows(requests: Workflow[], isApproval: boolean): Promise<any>;
    /**
     * Delete multiple user access requests
     * @param requestIds Array of request IDs to delete
     * @returns Observable containing the delete operation result
     */
    deleteWorkflows(requestIds: string[]): Observable<any>;
    /**
     * Get user access requests 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 user access requests
     */
    getForms(skip: number, limit: number, sortParam: string, sortOrder: string): Promise<Paged<FormEntity>>;
    /**
     * Get user access requests 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 user access requests
     */
    getTags(skip: number, limit: number, sortParam: string, sortOrder: string): Promise<Paged<Tag>>;
    getWorkflowOperations(skip: number, limit: number, sortParam: string, sortOrder: string): Promise<Paged<Tag>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<WorkflowsService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<WorkflowsService>;
}
