/** * Batch input parsing utilities */ import { Effect, Schema } from "effect"; import { ParseError } from "effect/ParseResult"; /** * Parsed color/stop pair from user input */ export declare const ParsedPairSchema: Schema.Struct<{ color: Schema.brand, "ColorString">; stop: Schema.optional>; raw: typeof Schema.String; }>; export declare const ParsedPair: (u: unknown, overrideOptions?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<{ readonly color: string & import("effect/Brand").Brand<"ColorString">; readonly stop?: 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 1000 | undefined; readonly raw: string; }, ParseError, never>; export type ParsedPair = typeof ParsedPairSchema.Type; /** * Parse a single color/stop pair string * * Supports formats: * - color::stop → "#2D72D2::500" * - color:stop → "#2D72D2:500" * - color stop → "#2D72D2 500" * - color → "#2D72D2" (stop is undefined) * * @param input - Raw input string for a single pair * @returns Effect with parsed pair or parse error */ export declare const parseBatchPairString: (input: string) => Effect.Effect; /** * Parse multiple color/stop pairs from user input * * Supports: * - Newline-separated pairs * - Comma-separated pairs * - Mixed separators * * @param input - Raw multi-line or comma-separated input * @returns Effect with array of parsed pairs or parse error */ export declare const parseBatchPairsInput: (input: string) => Effect.Effect, ParseError>; /** * Get pairs that are missing stop positions */ export declare const getPairsWithMissingStops: (pairs: Array) => Array; /** * Get pairs that have stop positions */ export declare const getPairsWithStops: (pairs: Array) => Array; /** * Update a parsed pair with a stop position */ export declare const setPairStop: (pair: ParsedPair, stop: number) => Effect.Effect; //# sourceMappingURL=batch-parser.d.ts.map