/** * Pattern loading I/O implementations. * * Factory functions that create LoadPattern functions for different environments: * - Filesystem (CLI) * - In-memory (testing) * - HTTP (future web consumer) */ import { FileSystem } from "@effect/platform"; import { Effect } from "effect"; import type { AnalyzedPalette, TransformationPattern } from "../domain/pattern/pattern.js"; declare const PatternLoadError_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: "PatternLoadError"; } & Readonly; /** Error when pattern loading fails */ export declare class PatternLoadError extends PatternLoadError_base<{ readonly message: string; readonly cause?: unknown; }> { } /** Function type for loading patterns - implementations vary by platform */ export type LoadPattern = (source: string) => Effect.Effect; /** Function type for loading raw palettes */ export type LoadPalette = (source: string) => Effect.Effect; /** * Create a pattern loader that reads from the filesystem. * * @param fs - Effect FileSystem service * @returns LoadPattern function that loads patterns from file paths */ export declare const makeFilePatternLoader: (fs: FileSystem.FileSystem) => LoadPattern; /** * Create a palette loader that reads from the filesystem. * * @param fs - Effect FileSystem service * @returns LoadPalette function that loads palettes from file paths */ export declare const makeFilePaletteLoader: (fs: FileSystem.FileSystem) => LoadPalette; /** * Create a pattern loader from an in-memory map. * * Useful for testing without filesystem access. * * @param patterns - Map of source identifiers to patterns * @returns LoadPattern function that looks up patterns in the map */ export declare const makeMemoryPatternLoader: (patterns: ReadonlyMap) => LoadPattern; /** * Create a palette loader from an in-memory map. * * @param palettes - Map of source identifiers to palettes * @returns LoadPalette function that looks up palettes in the map */ export declare const makeMemoryPaletteLoader: (palettes: ReadonlyMap) => LoadPalette; export {}; //# sourceMappingURL=patternLoader.d.ts.map