/** * Transformation input parsing utilities * * Parses transformation syntax like: * - Single: "2D72D2>238551::500" * - One-to-many: "2D72D2>(238551,DC143C)::500" * - Batch: Multiple lines or comma-separated transformations */ import { Effect } from "effect"; import { ParseError } from "effect/ParseResult"; import { TransformationParseError } from "../../../../domain/color/errors.js"; import type { PartialTransformationBatch, PartialTransformationInput, TransformationBatch, TransformationInput } from "../../../../schemas/transformation.js"; /** * Parse a single transformation string: ref>target::stop * * Supports formats: * - ref>target::stop → "2D72D2>238551::500" * - ref>target:stop → "2D72D2>238551:500" * - ref>target stop → "2D72D2>238551 500" * - ref>target → "2D72D2>238551" (partial, stop will be prompted for) * * @param input - Raw transformation string * @returns Effect with parsed transformation or parse error */ export declare const parseTransformationString: (input: string) => Effect.Effect; /** * Parse a one-to-many transformation string: ref>(t1,t2,t3)::stop * * Supports formats: * - ref>(t1,t2)::stop → "2D72D2>(238551,DC143C)::500" * - ref>(t1,t2):stop → "2D72D2>(238551,DC143C):500" * * @param input - Raw transformation string * @returns Effect with parsed batch transformation or parse error */ export declare const parseOneToManyTransformation: (input: string) => Effect.Effect; /** * Detect if input string is a transformation (contains >) */ export declare const isTransformationSyntax: (input: string) => boolean; /** * Detect if input is one-to-many transformation (has parentheses) */ export declare const isOneToManyTransformation: (input: string) => boolean; /** * Parse any transformation input (auto-detects format) * * @param input - Raw transformation string * @returns Effect with parsed transformation (single or batch) */ export declare const parseAnyTransformation: (input: string) => Effect.Effect; /** * Parse multiple transformation inputs (batch mode) * * Supports: * - Newline-separated transformations * - Comma-separated transformations (respecting parentheses) * - Mixed single and one-to-many transformations * * @param input - Raw multi-line input * @returns Effect with array of parsed transformations */ export declare const parseBatchTransformations: (input: string) => Effect.Effect, TransformationParseError | ParseError>; //# sourceMappingURL=transform-parser.d.ts.map