import type { BulkOperationAction, BulkOperationAuditEvent, BulkOperationCommitOptions, BulkOperationDryRunResult, BulkOperationError, BulkOperationOptions, BulkOperationScopeSummary, ListFilter, WorkflowState, WorkflowStatus } from '../types.ts'; import type { EngineInternals } from './internals.ts'; export declare const BULK_OPERATION_SAMPLE_LIMIT = 20; export declare const DEFAULT_BULK_OPERATION_CONCURRENCY = 1; export type BulkWorkflowPoolResult = { item: TItem; status: 'fulfilled'; value: TResult; } | { item: TItem; status: 'rejected'; reason: unknown; }; /** * Shared bounded-concurrency runner every bulk operation (cancel, retry, * signal, delete) uses to drive its per-workflow work: runs `items` in * fixed-size batches of `concurrencyLimit`, capturing each item's outcome * rather than letting one rejection abort the batch (mirrors * `Promise.allSettled`, but keyed back to the originating `item` so a * caller can map a failure to the workflow it belongs to). */ export declare function runBulkWorkflowPool(items: readonly TItem[], concurrencyLimit: number, operation: (item: TItem) => Promise): Promise[]>; export type BulkWorkflowSnapshot = { id: string; type: string; status: WorkflowStatus; updatedAt: number; }; export type BulkOperationPreparation = { workflowIds: string[]; confirmationToken: string; preview: BulkOperationDryRunResult; scope: BulkOperationScopeSummary; }; export declare function buildActionableBulkWorkflowFilter(_internals: EngineInternals, filter: ListFilter, actionableStatuses: WorkflowStatus[]): ListFilter; export declare function prepareBulkOperation(internals: EngineInternals, action: BulkOperationAction, scanFilter: ListFilter, tokenFilter: ListFilter, actionParameters: Record, options: BulkOperationOptions): Promise; export declare function buildBulkOperationPreparation(action: BulkOperationAction, filter: ListFilter, actionParameters: Record, snapshots: readonly BulkWorkflowSnapshot[], options: BulkOperationOptions): BulkOperationPreparation; export declare function validateBulkConfirmation(options: BulkOperationCommitOptions, preparation: BulkOperationPreparation): void; export declare function shouldPersistBulkAudit(options: BulkOperationCommitOptions): boolean; export declare function withBulkAuditEvent(internals: EngineInternals, preparation: BulkOperationPreparation, options: BulkOperationCommitOptions, result: TResult, affectedCount: number): Promise; export declare function normalizeBulkOperationOptions(options: TOptions): TOptions; export declare function resolveBulkOperationConcurrency(options: BulkOperationOptions): number; export declare function toBulkOperationError(_internals: EngineInternals, workflowId: string, error: unknown): BulkOperationError; export declare function snapshotMatchingWorkflowSnapshots(internals: EngineInternals, filter?: ListFilter): Promise; export declare function workflowStateToBulkSnapshot(state: WorkflowState): BulkWorkflowSnapshot; export declare function collectTerminalWorkflowSnapshots(internals: EngineInternals, filter: ListFilter): Promise;