/**
* Generate batch palettes use case.
*
* Generates multiple palettes in a single operation, collecting successes and failures.
* Pattern is loaded once and reused for all palette generations.
*/
import { Effect } from "effect";
import type { ColorSpace } from "../domain/color/color.schema.js";
import { type BatchResult, type ColorStopPair } from "../domain/palette/palette.schema.js";
import type { LoadPattern, PatternLoadError } from "../io/patternLoader.js";
declare const BatchGenerationError_base: new = {}>(args: import("effect/Types").Equals extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
readonly _tag: "BatchGenerationError";
} & Readonly;
/** Error when all palette generations in a batch fail */
export declare class BatchGenerationError extends BatchGenerationError_base<{
readonly message: string;
readonly cause?: unknown;
}> {
}
/** Input for generating a batch of palettes */
export interface GenerateBatchInput {
readonly pairs: ReadonlyArray;
readonly outputFormat: ColorSpace;
readonly groupName: string;
readonly patternSource: string;
}
/**
* Generate multiple palettes in a batch.
*
* Loads the pattern once, then generates all palettes concurrently.
* Collects both successful results and failures, returning a BatchResult.
* Fails only if ALL palette generations fail.
*
* @param input - Batch generation parameters
* @param loadPattern - Function to load pattern (platform-specific implementation)
* @returns Effect containing batch result with palettes and any failures
*/
export declare const generateBatch: (input: GenerateBatchInput, loadPattern: LoadPattern) => Effect.Effect;
export {};
//# sourceMappingURL=generateBatch.d.ts.map