/**
* 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