/** * Palette service for color palette generation * * Provides: * - Single palette generation * - Batch palette generation * - Color format conversion * * Orchestrates PatternService and ConfigService to generate complete palettes. */ import { Effect, Layer } from "effect"; import type { BatchGeneratedPaletteOutput, BatchGeneratePaletteInput } from "../schemas/batch.js"; import { GeneratedPaletteOutput, type GeneratePaletteInput } from "../schemas/generate-palette.js"; import { ConfigService } from "./ConfigService.js"; import { PatternService } from "./PatternService.js"; declare const PaletteGenerationError_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: "PaletteGenerationError"; } & Readonly; /** * Error type for palette generation failures */ export declare class PaletteGenerationError extends PaletteGenerationError_base<{ readonly message: string; readonly cause?: unknown; }> { } declare const PaletteService_base: Effect.Service.Class Effect.Effect; generateBatch: (input: BatchGeneratePaletteInput) => Effect.Effect; }, never, ConfigService | PatternService>; readonly dependencies: readonly [Layer.Layer, Layer.Layer]; }>; /** * Palette service using Effect.Service pattern * * @example * ```typescript * Effect.gen(function*() { * const service = yield* PaletteService * const result = yield* service.generate({ * inputColor: "#2D72D2", * anchorStop: 500, * outputFormat: "hex", * paletteName: "blue" * }) * }).pipe(Effect.provide(PaletteService.Default)) * ``` */ export declare class PaletteService extends PaletteService_base { /** * Test layer with test dependencies * * Uses ConfigService.Test and PatternService.Test for predictable test behavior. */ static readonly Test: Layer.Layer; } export {}; //# sourceMappingURL=PaletteService.d.ts.map