/**
* Transform color use case.
*
* Applies optical appearance from a reference color to target colors,
* then generates palettes from the transformed colors.
*/
import { Effect } from "effect";
import type { ColorSpace } from "../domain/color/color.schema.js";
import { type BatchResult, type PaletteResult, type StopPosition } from "../domain/palette/palette.schema.js";
import type { LoadPattern, PatternLoadError } from "../io/patternLoader.js";
declare const TransformColorError_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: "TransformColorError";
} & Readonly;
/** Error when color transformation fails */
export declare class TransformColorError extends TransformColorError_base<{
readonly message: string;
readonly cause?: unknown;
}> {
}
/** Input for single color transformation */
export interface TransformSingleInput {
readonly reference: string;
readonly target: string;
readonly stop: StopPosition;
readonly name: string;
readonly outputFormat: ColorSpace;
readonly patternSource: string;
}
/** Input for one-to-many color transformation */
export interface TransformManyInput {
readonly reference: string;
readonly targets: ReadonlyArray;
readonly stop: StopPosition;
readonly name: string;
readonly outputFormat: ColorSpace;
readonly patternSource: string;
}
/** Input for batch transformations */
export interface TransformBatchInput {
readonly transformations: ReadonlyArray;
readonly outputFormat: ColorSpace;
readonly groupName: string;
readonly patternSource: string;
}
/**
* Transform a single color and generate a palette.
*
* Applies the optical appearance (lightness/chroma) of the reference color
* to the target color's hue, then generates a palette from the result.
*
* @param input - Transformation parameters
* @param loadPattern - Function to load pattern
* @returns Effect containing the generated palette
*/
export declare const transformSingle: (input: TransformSingleInput, loadPattern: LoadPattern) => Effect.Effect;
/**
* Transform one reference color to many targets and generate palettes.
*
* Applies the optical appearance of the reference to each target,
* generating a separate palette for each.
*
* @param input - One-to-many transformation parameters
* @param loadPattern - Function to load pattern
* @returns Effect containing array of generated palettes
*/
export declare const transformMany: (input: TransformManyInput, loadPattern: LoadPattern) => Effect.Effect, TransformColorError | PatternLoadError>;
/**
* Execute batch transformations and collect results.
*
* Processes multiple transformations (single or one-to-many), collecting
* all generated palettes into a BatchResult. Handles partial failures.
*
* @param input - Batch transformation parameters
* @param loadPattern - Function to load pattern
* @returns Effect containing batch result with palettes and failures
*/
export declare const transformBatch: (input: TransformBatchInput, loadPattern: LoadPattern) => Effect.Effect;
export {};
//# sourceMappingURL=transformColor.d.ts.map