/** * Schemas for color transformation syntax * * Defines schemas for parsing and validating transformation syntax like: * - ref>target::stop * - ref>(t1,t2)::stop */ import { Schema } from "effect"; /** * Single transformation spec: reference>target * * Example: "2D72D2>238551" */ export declare const TransformationSpecSchema: Schema.Struct<{ reference: Schema.brand, "ColorString">; target: Schema.brand, "ColorString">; }>; export declare const TransformationSpec: (u: unknown, overrideOptions?: import("effect/SchemaAST").ParseOptions) => import("effect/Effect").Effect<{ readonly reference: string & import("effect/Brand").Brand<"ColorString">; readonly target: string & import("effect/Brand").Brand<"ColorString">; }, import("effect/ParseResult").ParseError, never>; export type TransformationSpec = typeof TransformationSpecSchema.Type; /** * Single transformation input with stop: reference>target::stop * * Example: "2D72D2>238551::500" */ export declare const TransformationInputSchema: Schema.Struct<{ reference: Schema.brand, "ColorString">; target: Schema.brand, "ColorString">; stop: Schema.Literal<[100, 200, 300, 400, 500, 600, 700, 800, 900, 1000]>; }>; export declare const TransformationInput: (u: unknown, overrideOptions?: import("effect/SchemaAST").ParseOptions) => import("effect/Effect").Effect<{ readonly reference: string & import("effect/Brand").Brand<"ColorString">; readonly target: string & import("effect/Brand").Brand<"ColorString">; readonly stop: 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 1000; }, import("effect/ParseResult").ParseError, never>; export type TransformationInput = typeof TransformationInputSchema.Type; /** * Partial transformation input with optional stop: reference>target[::stop] */ export declare const PartialTransformationInputSchema: Schema.SchemaClass<{ readonly reference?: (string & import("effect/Brand").Brand<"ColorString">) | undefined; readonly target?: (string & import("effect/Brand").Brand<"ColorString">) | undefined; readonly stop?: 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 1000 | undefined; }, { readonly reference?: string | undefined; readonly target?: string | undefined; readonly stop?: 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 1000 | undefined; }, never>; export declare const PartialTransformationInput: (u: unknown, overrideOptions?: import("effect/SchemaAST").ParseOptions) => import("effect/Effect").Effect<{ readonly reference?: (string & import("effect/Brand").Brand<"ColorString">) | undefined; readonly target?: (string & import("effect/Brand").Brand<"ColorString">) | undefined; readonly stop?: 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 1000 | undefined; }, import("effect/ParseResult").ParseError, never>; export type PartialTransformationInput = typeof PartialTransformationInputSchema.Type; /** * One-to-many transformation: reference>(t1,t2,t3)::stop * * Example: "2D72D2>(238551,DC143C,FF6B6B)::500" */ export declare const TransformationBatchSchema: Schema.extend, "ColorString">; targets: Schema.refine)[], Schema.Array$, "ColorString">>>; }>, Schema.Struct<{ stop: Schema.Literal<[100, 200, 300, 400, 500, 600, 700, 800, 900, 1000]>; }>>; export declare const TransformationBatch: (u: unknown, overrideOptions?: import("effect/SchemaAST").ParseOptions) => import("effect/Effect").Effect<{ readonly reference: string & import("effect/Brand").Brand<"ColorString">; readonly targets: readonly (string & import("effect/Brand").Brand<"ColorString">)[]; } & { readonly stop: 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 1000; }, import("effect/ParseResult").ParseError, never>; export type TransformationBatch = typeof TransformationBatchSchema.Type; /** * Partial one-to-many transformation with optional stop: reference>(t1,t2,t3)[::stop] * Reference and targets are required, only stop is optional */ export declare const PartialTransformationBatchSchema: Schema.extend, "ColorString">; targets: Schema.refine)[], Schema.Array$, "ColorString">>>; }>, Schema.Struct<{ stop: Schema.optional>; }>>; export declare const PartialTransformationBatch: (u: unknown, overrideOptions?: import("effect/SchemaAST").ParseOptions) => import("effect/Effect").Effect<{ readonly reference: string & import("effect/Brand").Brand<"ColorString">; readonly targets: readonly (string & import("effect/Brand").Brand<"ColorString">)[]; } & { readonly stop?: 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 1000 | undefined; }, import("effect/ParseResult").ParseError, never>; export type PartialTransformationBatch = typeof PartialTransformationBatchSchema.Type; /** * Transformation mode selection */ export declare const TransformationModeSchema: Schema.Literal<["single", "one-to-many", "batch"]>; export declare const TransformationMode: (u: unknown, overrideOptions?: import("effect/SchemaAST").ParseOptions) => import("effect/Effect").Effect<"single" | "one-to-many" | "batch", import("effect/ParseResult").ParseError, never>; export type TransformationMode = typeof TransformationModeSchema.Type; /** * Parsed transformation string (raw input before validation) * * This is used for the initial parsing phase before schema validation */ export declare const RawTransformationStringSchema: Schema.refine>; export declare const RawTransformationString: (u: unknown, overrideOptions?: import("effect/SchemaAST").ParseOptions) => import("effect/Effect").Effect; export type RawTransformationString = typeof RawTransformationStringSchema.Type; //# sourceMappingURL=transformation.d.ts.map