import type { PlannedTestSuite } from '../types.js'; import type { TestChunk } from './test_pool_manager.js'; /** * Internal helper responsible for calculating concurrency and distributing * test files round-robin across Playwright browser page slots. */ export declare class ShardingStrategy { /** * Resolves numeric concurrency from setting or 'auto' CPU count. * Dynamically calculates default concurrency based on system resources (cpus / 2) * and scales worker pools across multiple configured browsers. * * @param value Setting value (number, 'auto', or undefined). * @param browserCount Number of target browsers (default: 1). * @returns Resolved positive concurrency integer. * * @example * ```ts * const concurrency = strategy.resolveConcurrency('auto', 3) * ``` */ resolveConcurrency(value: number | 'auto' | undefined, browserCount?: number): number; /** * Partitions tiered suites across concurrency slots for each specified browser. * * @param tieredSuites Array of suites belonging to the priority tier. * @param priority Priority tier number. * @param browserNames Array of target browser names (e.g. ['chromium']). * @param globalConcurrency Configured global concurrency setting. * @returns List of non-empty TestChunk objects. */ shard(tieredSuites: PlannedTestSuite[], priority: number, browserNames: string[], globalConcurrency: number | 'auto' | undefined): TestChunk[]; }