/**
 * 非同期処理共通ユーティリティ
 */
/**
 * 並列実行制御付きでタスクを実行する
 * @param tasks 実行するタスクの配列
 * @param concurrency 最大並列数
 * @returns すべてのタスクの結果
 */
export declare function executeWithConcurrency<T>(tasks: (() => Promise<T>)[], concurrency: number): Promise<T[]>;
/**
 * タイムアウト付きでPromiseを実行する
 * @param promise 実行するPromise
 * @param timeoutMs タイムアウト時間（ミリ秒）
 * @returns 結果またはタイムアウトエラー
 */
export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number): Promise<T>;
/**
 * 失敗時にリトライする
 * @param fn 実行する関数
 * @param maxRetries 最大リトライ回数
 * @param delayMs リトライ間隔（ミリ秒）
 * @returns 結果
 */
export declare function withRetry<T>(fn: () => Promise<T>, maxRetries?: number, delayMs?: number): Promise<T>;
/**
 * 指定時間待機する
 * @param ms 待機時間（ミリ秒）
 */
export declare function sleep(ms: number): Promise<void>;
/**
 * 配列の各要素に対して非同期関数を順次実行する
 * @param items 処理する配列
 * @param fn 各要素に適用する非同期関数
 * @returns 結果の配列
 */
export declare function mapSequential<T, U>(items: T[], fn: (item: T, index: number) => Promise<U>): Promise<U[]>;
/**
 * 配列の各要素に対して非同期関数を並列実行する（制限あり）
 * @param items 処理する配列
 * @param fn 各要素に適用する非同期関数
 * @param concurrency 最大並列数
 * @returns 結果の配列
 */
export declare function mapConcurrent<T, U>(items: T[], fn: (item: T, index: number) => Promise<U>, concurrency?: number): Promise<U[]>;
/**
 * すべてのPromiseが完了するまで待機し、成功・失敗を区別する
 * @param promises 実行するPromiseの配列
 * @returns 成功・失敗の結果
 */
export declare function allSettled<T>(promises: Promise<T>[]): Promise<{
    succeeded: T[];
    failed: Error[];
}>;
//# sourceMappingURL=async.d.ts.map