import { ExecutionOptions } from "@llumiverse/core";
import { NovaMessagesPrompt } from "@llumiverse/core/formatters";
export declare function formatNovaImageGenerationPayload(taskType: string, prompt: NovaMessagesPrompt, options: ExecutionOptions): Promise<NovaTextToImagePayload> | Promise<NovaImageVariationPayload> | Promise<NovaColorGuidedGenerationPayload> | Promise<NovaBackgroundRemovalPayload> | Promise<NovaInpaintingPayload> | Promise<NovaOutpaintingPayload>;
export interface InvokeModelPayloadBase {
    taskType: NovaImageGenerationTaskType;
    imageGenerationConfig: {
        width?: number;
        height?: number;
        quality?: "standard" | "premium";
        cfgScale?: number;
        seed?: number;
        numberOfImages?: number;
    };
}
export interface NovaTextToImagePayload extends InvokeModelPayloadBase {
    textToImageParams: {
        conditionImage?: string;
        controlMode?: "CANNY_EDGE" | "SEGMENTATION";
        controlStrength?: number;
        text: string;
        negativeText?: string;
    };
}
export interface NovaImageVariationPayload extends InvokeModelPayloadBase {
    imageVariationParams: {
        images: string[];
        similarityStrength?: number;
        text?: string;
        negativeText?: string;
    };
}
export interface NovaColorGuidedGenerationPayload extends InvokeModelPayloadBase {
    colorGuidedGenerationParams: {
        colors: string[];
        text: string;
        referenceImage?: string;
        negativeText?: string;
    };
}
export interface NovaInpaintingPayload extends InvokeModelPayloadBase {
    inPaintingParams: {
        image: string;
        maskImage?: string;
        maskPrompt?: string;
        negativeText?: string;
        text?: string;
    };
}
export interface NovaOutpaintingPayload extends InvokeModelPayloadBase {
    outPaintingParams: {
        image: string;
        maskImage?: string;
        maskPrompt?: string;
        negativeText?: string;
        text?: string;
        outPaintingMode: "DEFAULT" | "PRECISE";
    };
}
export interface NovaBackgroundRemovalPayload {
    taskType: NovaImageGenerationTaskType.BACKGROUND_REMOVAL;
    backgroundRemovalParams: {
        image: string;
    };
}
export declare enum NovaImageGenerationTaskType {
    TEXT_IMAGE = "TEXT_IMAGE",
    TEXT_IMAGE_WITH_IMAGE_CONDITIONING = "TEXT_IMAGE_WITH_IMAGE_CONDITIONING",
    COLOR_GUIDED_GENERATION = "COLOR_GUIDED_GENERATION",
    IMAGE_VARIATION = "IMAGE_VARIATION",
    INPAINTING = "INPAINTING",
    OUTPAINTING = "OUTPAINTING",
    BACKGROUND_REMOVAL = "BACKGROUND_REMOVAL"
}
//# sourceMappingURL=nova-image-payload.d.ts.map