/**
 * @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 { CropParams } from "./crop.cpu";
export interface ImageCropTaskInput extends ImageFilterInput {
    left: number;
    top: number;
    width: number;
    height: number;
}
export type ImageCropTaskOutput = ImageFilterOutput & Record<string, unknown>;
export declare class ImageCropTask extends ImageFilterTask<CropParams, ImageCropTaskInput & Record<string, unknown>, ImageCropTaskOutput> {
    static readonly type = "ImageCropTask";
    static readonly category = "Image";
    static title: string;
    static description: string;
    static inputSchema(): never;
    static outputSchema(): never;
    protected readonly filterName = "crop";
    protected opParams(input: ImageCropTaskInput & Record<string, unknown>): CropParams;
    protected scalePreviewParams({ left, top, width, height }: CropParams, s: number): CropParams;
}
declare module "@workglow/task-graph" {
    interface Workflow {
        imageCrop: CreateWorkflow<ImageCropTaskInput & Record<string, unknown>, ImageCropTaskOutput, TaskConfig>;
    }
}
//# sourceMappingURL=ImageCropTask.d.ts.map