/** * Statistical analysis of color palettes to extract transformation patterns */ import { Effect } from "effect"; import type { OKLCHColor } from "../color/color.schema.js"; import type { StopPosition } from "../palette/palette.schema.js"; import type { StopTransformMap } from "../types/collections.js"; /** Transformation for a single stop relative to a reference stop */ export interface StopTransform { readonly lightnessMultiplier: number; readonly chromaMultiplier: number; readonly hueShiftDegrees: number; } /** Complete transformation pattern learned from example palettes */ export interface TransformationPattern { readonly name: string; readonly referenceStop: StopPosition; readonly transforms: StopTransformMap; readonly metadata: { readonly sourceCount: number; readonly confidence: number; }; } /** An analyzed palette with OKLCH colors */ export interface AnalyzedPalette { readonly name: string; readonly stops: ReadonlyArray<{ readonly position: StopPosition; readonly color: OKLCHColor; }>; } declare const PatternExtractionError_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: "PatternExtractionError"; } & Readonly; /** Error when pattern extraction fails */ export declare class PatternExtractionError extends PatternExtractionError_base<{ readonly message: string; readonly cause?: unknown; }> { } /** * Extract transformation patterns from analyzed palettes * * Calculates ratios for each stop relative to the reference stop (500). * Returns Either.left if pattern extraction fails, Either.right with pattern otherwise. */ export declare const extractPatterns: (palettes: ReadonlyArray, referenceStop?: StopPosition) => Effect.Effect; export {}; //# sourceMappingURL=pattern.d.ts.map