import { ActorTag, ErrorResponse, Escalation, FlowableStatus, Form, OperationAction, Paged, ReportSchedule, SwimLane, Tag, Workflow, WorkflowStage } from 'verben-workflow-ui/src/lib/models'; import { EnvironmentService, HttpWebRequestService, UtilService } from 'verben-workflow-ui/src/lib/services'; import * as i0 from "@angular/core"; /** * HTTP layer for the workflow designer — a thin wrapper over * `HttpWebRequestService` that picks an API base per call from * `EnvironmentService.environment`. * * Bases used: * - `WorkFlowAPI` — workflows, stages, actions, swimlanes, escalations, tags * - `AuthAPI` — `GetTags` (actor tags) only * - `ReportingAPI` — `GetReportSchedules` only * * Every method routes through {@link withLoader}, so the busy indicator is * handled centrally; callers should not toggle it themselves. * * ## Save is batched, deletes are not * * `saveWorkflows` persists the whole workflow at the user's explicit save. The * `delete*` methods fire immediately when the user confirms, from whichever * component owns that UI. A delete is therefore **already committed** and is * not undone by navigating away without saving. * * @see ./docs/08-api-reference.md — the full endpoint table * @see ./docs/05-persistence.md — how the models map on load and save */ export declare class WorkflowDataService { private httpService; private envSvc; private utilService; /** In-flight request count backing the shared busy indicator. */ private pendingRequests; constructor(httpService: HttpWebRequestService, envSvc: EnvironmentService, utilService: UtilService); /** * Wraps an API call so a busy indicator is shown while it is in flight. * A ref-count keeps the loader visible until the last concurrent request * settles, mirroring how the workflows facade toggles `sendBI`. */ private withLoader; getWorkflowWithParam(param: string, skip?: number, limit?: number, sortParam?: string, sortOrder?: string): Promise>; getWorkflows(skip?: number, limit?: number): Promise>; getForms(skip?: number, limit?: number): Promise>; getTags(skip?: number, limit?: number): Promise>; saveWorkflows(requests: Partial[]): Promise; deleteWorkflowStages(requests: WorkflowStage['Code'][]): Promise; deleteWorkflowActions(requests: string[]): Promise; deleteSwimLanes(requests: SwimLane['Code'][]): Promise; saveEscalations(requests: Partial[]): Promise; deleteEscalations(requests: Escalation['Code'][]): Promise; searchEscalationWithParam(params: Pick, skip?: number, limit?: number, sortOrder?: string): Promise>; getEscalationWithParam(param: string, skip?: number, limit?: number, sortParam?: string, sortOrder?: string): Promise>; getReportSchedules(skip?: number, limit?: number): Promise>; getOperationActions(skip?: number, limit?: number): Promise>; saveActorTags(requests: ActorTag[]): Promise; getFlowableStatuses(skip?: number, limit?: number): Promise>; private createMockWorkflow; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }