/** * Per-PID serialization queue for bridge operations. * * Ensures that no two snapshot (or other bridge) operations for the same PID * overlap. This prevents "same-PID overlapping calls" across concurrent tool * invocations while allowing different PIDs to run in parallel. * * Usage: * ```ts * const result = await PidQueue.enqueue(pid, async () => { * // Bridge I/O for this PID – guaranteed non-overlapping per PID. * }); * ``` */ export declare class PidQueue { /** Per-PID linked-list of pending operations. */ private static readonly queues; /** * Enqueue a work item for the given PID. * * Returns a promise that resolves (or rejects) with the item's result. * Works items for the same PID are serialised (each waits for the previous). * Items for different PIDs run concurrently. * * @param pid - The Power BI Desktop process ID. * @param fn - Async function to execute once all prior items for this PID * have completed. */ static enqueue(pid: number, fn: () => Promise): Promise; } //# sourceMappingURL=pid-queue.d.ts.map