import z from 'zod';
export declare enum AssetEditAction {
    Crop = "crop",
    Rotate = "rotate",
    Mirror = "mirror"
}
export declare const AssetEditActionSchema: z.ZodEnum<typeof AssetEditAction>;
export declare enum MirrorAxis {
    Horizontal = "horizontal",
    Vertical = "vertical"
}
declare const CropParametersSchema: z.ZodObject<{
    x: z.ZodInt;
    y: z.ZodInt;
    width: z.ZodInt;
    height: z.ZodInt;
}, z.core.$strip>;
declare const __AssetEditActionItemSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    action: z.ZodEnum<{
        readonly Crop: AssetEditAction.Crop;
    }>;
    parameters: z.ZodObject<{
        x: z.ZodInt;
        y: z.ZodInt;
        width: z.ZodInt;
        height: z.ZodInt;
    }, z.core.$strip>;
}, z.core.$strip>, z.ZodObject<{
    action: z.ZodEnum<{
        readonly Rotate: AssetEditAction.Rotate;
    }>;
    parameters: z.ZodObject<{
        angle: z.ZodNumber;
    }, z.core.$strip>;
}, z.core.$strip>, z.ZodObject<{
    action: z.ZodEnum<{
        readonly Mirror: AssetEditAction.Mirror;
    }>;
    parameters: z.ZodObject<{
        axis: z.ZodEnum<{
            horizontal: "horizontal";
            vertical: "vertical";
        }>;
    }, z.core.$strip>;
}, z.core.$strip>], "action">;
export type AssetEditActionItem = z.infer<typeof __AssetEditActionItemSchema>;
export type AssetEditParameters = AssetEditActionItem['parameters'];
declare const AssetEditActionItemResponseDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    action: z.ZodEnum<typeof AssetEditAction>;
    parameters: z.ZodUnion<readonly [z.ZodObject<{
        x: z.ZodInt;
        y: z.ZodInt;
        width: z.ZodInt;
        height: z.ZodInt;
    }, z.core.$strip>, z.ZodObject<{
        angle: z.ZodNumber;
    }, z.core.$strip>, z.ZodObject<{
        axis: z.ZodEnum<{
            horizontal: "horizontal";
            vertical: "vertical";
        }>;
    }, z.core.$strip>]>;
    id: z.ZodUUID;
}, z.core.$strip>, false>;
export declare class AssetEditActionItemResponseDto extends AssetEditActionItemResponseDto_base {
}
declare const AssetEditsCreateDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    edits: z.ZodArray<z.ZodObject<{
        action: z.ZodEnum<typeof AssetEditAction>;
        parameters: z.ZodUnion<readonly [z.ZodObject<{
            x: z.ZodInt;
            y: z.ZodInt;
            width: z.ZodInt;
            height: z.ZodInt;
        }, z.core.$strip>, z.ZodObject<{
            angle: z.ZodNumber;
        }, z.core.$strip>, z.ZodObject<{
            axis: z.ZodEnum<{
                horizontal: "horizontal";
                vertical: "vertical";
            }>;
        }, z.core.$strip>]>;
    }, z.core.$strip>>;
}, z.core.$strip>, false>;
export declare class AssetEditsCreateDto extends AssetEditsCreateDto_base {
}
declare const AssetEditsResponseDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    assetId: z.ZodUUID;
    edits: z.ZodArray<z.ZodObject<{
        action: z.ZodEnum<typeof AssetEditAction>;
        parameters: z.ZodUnion<readonly [z.ZodObject<{
            x: z.ZodInt;
            y: z.ZodInt;
            width: z.ZodInt;
            height: z.ZodInt;
        }, z.core.$strip>, z.ZodObject<{
            angle: z.ZodNumber;
        }, z.core.$strip>, z.ZodObject<{
            axis: z.ZodEnum<{
                horizontal: "horizontal";
                vertical: "vertical";
            }>;
        }, z.core.$strip>]>;
        id: z.ZodUUID;
    }, z.core.$strip>>;
}, z.core.$strip>, false>;
export declare class AssetEditsResponseDto extends AssetEditsResponseDto_base {
}
export type CropParameters = z.infer<typeof CropParametersSchema>;
export {};
