/** * 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