/** * @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 { RotateParams } from "./rotate.cpu"; export interface ImageRotateTaskInput extends ImageFilterInput { angle: 90 | 180 | 270; background?: string; } export type ImageRotateTaskOutput = ImageFilterOutput & Record; export declare class ImageRotateTask extends ImageFilterTask, ImageRotateTaskOutput> { static readonly type = "ImageRotateTask"; 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 angle: { readonly type: "integer"; readonly enum: readonly [90, 180, 270]; readonly title: "Angle"; readonly description: "Rotation angle in degrees (clockwise)"; }; readonly background: { readonly type: "string"; readonly title: "Background"; readonly description: "Background color for rotation (hex string)"; }; }; readonly required: readonly ["image", "angle"]; 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 = "rotate"; protected opParams(input: ImageRotateTaskInput & Record): RotateParams; } declare module "@workglow/task-graph" { interface Workflow { imageRotate: CreateWorkflow, ImageRotateTaskOutput, TaskConfig>; } }