/** * @copyright * Copyright 2026 Steven Roussey * All Rights Reserved */ import { CreateWorkflow, type TaskConfig } from "@workglow/task-graph"; import { ImageFilterTask, type ImageFilterInput, type ImageFilterOutput } from "../ImageFilterTask"; import type { TransparencyParams } from "./transparency.cpu"; export interface ImageTransparencyTaskInput extends ImageFilterInput { amount?: number; } export type ImageTransparencyTaskOutput = ImageFilterOutput & Record; export declare class ImageTransparencyTask extends ImageFilterTask, ImageTransparencyTaskOutput> { static readonly type = "ImageTransparencyTask"; 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 amount: { readonly type: "number"; readonly title: "Amount"; readonly description: "Opacity level (0.0 = fully transparent, 1.0 = fully opaque)"; readonly minimum: 0; readonly maximum: 1; readonly default: 1; }; }; readonly required: readonly ["image"]; 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 = "transparency"; protected opParams(input: ImageTransparencyTaskInput & Record): TransparencyParams; } declare module "@workglow/task-graph" { interface Workflow { imageTransparency: CreateWorkflow, ImageTransparencyTaskOutput, TaskConfig>; } }