/**
* Pattern service for loading and processing color transformation patterns
*
* Loads patterns from JSON files, extracts transformation patterns,
* and smooths them for palette generation.
*/
import { FileSystem, Path } from "@effect/platform";
import { Effect } from "effect";
import type { AnalyzedPalette, TransformationPattern } from "../../domain/pattern/pattern.js";
import { type DirectoryPath, type FilePath } from "./filesystem.schema.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 operations fail
*/
export declare class PatternLoadError extends PatternLoadError_base<{
readonly message: string;
readonly cause?: unknown;
}> {
}
declare const PatternService_base: Effect.Service.Class Effect.Effect;
loadPalette: (filePath: FilePath) => Effect.Effect;
loadPatternsFromDirectory: (directoryPath: DirectoryPath) => Effect.Effect<{
readonly palettes: ReadonlyArray;
readonly pattern: TransformationPattern;
}, PatternLoadError>;
}, never, FileSystem.FileSystem | Path.Path>;
readonly dependencies: readonly [import("effect/Layer").Layer, import("effect/Layer").Layer];
}>;
/**
* Pattern service with file loading and pattern extraction
*/
export declare class PatternService extends PatternService_base {
/**
* Test layer - same as Default since PatternService has no environment-specific behavior
*/
static readonly Test: import("effect/Layer").Layer;
}
export {};
//# sourceMappingURL=PatternService.d.ts.map