/** * @copyright * Copyright 2026 Steven Roussey * All Rights Reserved */ import { CreateWorkflow, type TaskConfig } from "@workglow/task-graph"; import { type ColorObject } from "@workglow/util/media"; import { ImageFilterTask, type ImageFilterInput, type ImageFilterOutput } from "../ImageFilterTask"; import type { TintParams } from "./tint.cpu"; export interface ImageTintTaskInput extends ImageFilterInput { color: ColorObject | string; amount?: number; } export type ImageTintTaskOutput = ImageFilterOutput & Record; export declare class ImageTintTask extends ImageFilterTask, ImageTintTaskOutput> { static readonly type = "ImageTintTask"; static readonly category = "Image"; static title: string; static description: string; static inputSchema(): { readonly type: "object"; readonly properties: { readonly image: { readonly oneOf: readonly [{ readonly type: "string"; readonly format: "image:data-uri"; }, { readonly type: "object"; readonly format: "image"; }]; readonly title: "Image"; readonly description: "Image"; readonly format: "image"; }; readonly color: { readonly oneOf: readonly [{ readonly type: "object"; readonly properties: { readonly r: { readonly type: "integer"; readonly minimum: 0; readonly maximum: 255; readonly title: "Red"; }; readonly g: { readonly type: "integer"; readonly minimum: 0; readonly maximum: 255; readonly title: "Green"; }; readonly b: { readonly type: "integer"; readonly minimum: 0; readonly maximum: 255; readonly title: "Blue"; }; readonly a: { readonly type: "integer"; readonly minimum: 0; readonly maximum: 255; readonly title: "Alpha"; readonly default: 255; }; }; readonly required: readonly ["r", "g", "b"]; readonly format: "color"; readonly additionalProperties: false; }, { readonly type: "string"; readonly format: "color"; readonly pattern: "^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"; readonly title: "Color (hex)"; readonly description: "Color as a `#RRGGBB[AA]` or `#RGB[A]` hex string"; }, { readonly type: "string"; readonly format: "color"; readonly pattern: string; readonly title: "Color (RGB)"; readonly description: "Color as a CSS `rgb(r,g,b)` or `rgba(r,g,b,a)` string"; }]; }; readonly amount: { readonly type: "number"; readonly title: "Amount"; readonly description: "Tint strength (0.0 = no tint, 1.0 = full tint color)"; readonly minimum: 0; readonly maximum: 1; readonly default: 0.5; }; }; readonly required: readonly ["image", "color"]; readonly additionalProperties: false; }; static outputSchema(): { readonly type: "object"; readonly properties: { readonly image: { readonly oneOf: readonly [{ readonly type: "string"; readonly format: "image:data-uri"; }, { readonly type: "object"; readonly format: "image"; }]; readonly title: "Image"; readonly description: "Image"; readonly format: "image"; }; }; readonly required: readonly ["image"]; readonly additionalProperties: false; }; protected readonly filterName = "tint"; protected opParams(input: ImageTintTaskInput & Record): TintParams; } declare module "@workglow/task-graph" { interface Workflow { imageTint: CreateWorkflow, ImageTintTaskOutput, TaskConfig>; } }