import { z } from "zod"; import { ComfyUIClient } from "../comfyui-client.js"; export declare const generateWithControlNetSchema: z.ZodObject<{ prompt: z.ZodString; negative_prompt: z.ZodOptional; control_image: z.ZodString; control_type: z.ZodEnum<["canny", "depth", "openpose", "qrcode", "scribble", "lineart", "semantic_seg"]>; controlnet_model: z.ZodOptional; strength: z.ZodOptional; start_percent: z.ZodDefault>; end_percent: z.ZodDefault>; preprocess: z.ZodDefault>; preprocessor_options: z.ZodOptional; high_threshold: z.ZodOptional; detect_body: z.ZodOptional; detect_face: z.ZodOptional; detect_hands: z.ZodOptional; object_min_size: z.ZodOptional; }, "strip", z.ZodTypeAny, { low_threshold?: number | undefined; high_threshold?: number | undefined; detect_body?: boolean | undefined; detect_face?: boolean | undefined; detect_hands?: boolean | undefined; object_min_size?: number | undefined; }, { low_threshold?: number | undefined; high_threshold?: number | undefined; detect_body?: boolean | undefined; detect_face?: boolean | undefined; detect_hands?: boolean | undefined; object_min_size?: number | undefined; }>>; width: z.ZodDefault>; height: z.ZodDefault>; steps: z.ZodDefault>; cfg_scale: z.ZodDefault>; sampler: z.ZodDefault>; scheduler: z.ZodDefault>; model: z.ZodOptional; seed: z.ZodOptional; loras: z.ZodOptional>; strength_clip: z.ZodDefault>; }, "strip", z.ZodTypeAny, { name: string; strength_model: number; strength_clip: number; }, { name: string; strength_model?: number | undefined; strength_clip?: number | undefined; }>, "many">>; output_path: z.ZodString; }, "strip", z.ZodTypeAny, { preprocess: boolean; steps: number; width: number; height: number; output_path: string; prompt: string; scheduler: string; sampler: string; cfg_scale: number; control_image: string; control_type: "canny" | "depth" | "openpose" | "qrcode" | "scribble" | "lineart" | "semantic_seg"; start_percent: number; end_percent: number; model?: string | undefined; seed?: number | undefined; negative_prompt?: string | undefined; loras?: { name: string; strength_model: number; strength_clip: number; }[] | undefined; controlnet_model?: string | undefined; strength?: number | undefined; preprocessor_options?: { low_threshold?: number | undefined; high_threshold?: number | undefined; detect_body?: boolean | undefined; detect_face?: boolean | undefined; detect_hands?: boolean | undefined; object_min_size?: number | undefined; } | undefined; }, { output_path: string; prompt: string; control_image: string; control_type: "canny" | "depth" | "openpose" | "qrcode" | "scribble" | "lineart" | "semantic_seg"; preprocess?: boolean | undefined; model?: string | undefined; steps?: number | undefined; seed?: number | undefined; width?: number | undefined; height?: number | undefined; scheduler?: string | undefined; sampler?: string | undefined; negative_prompt?: string | undefined; cfg_scale?: number | undefined; loras?: { name: string; strength_model?: number | undefined; strength_clip?: number | undefined; }[] | undefined; controlnet_model?: string | undefined; strength?: number | undefined; start_percent?: number | undefined; end_percent?: number | undefined; preprocessor_options?: { low_threshold?: number | undefined; high_threshold?: number | undefined; detect_body?: boolean | undefined; detect_face?: boolean | undefined; detect_hands?: boolean | undefined; object_min_size?: number | undefined; } | undefined; }>; export declare const generateWithMultiControlNetSchema: z.ZodObject<{ prompt: z.ZodString; negative_prompt: z.ZodOptional; controls: z.ZodArray; controlnet_model: z.ZodOptional; strength: z.ZodOptional; start_percent: z.ZodDefault>; end_percent: z.ZodDefault>; preprocessor_options: z.ZodOptional; high_threshold: z.ZodOptional; detect_body: z.ZodOptional; detect_face: z.ZodOptional; detect_hands: z.ZodOptional; object_min_size: z.ZodOptional; }, "strip", z.ZodTypeAny, { low_threshold?: number | undefined; high_threshold?: number | undefined; detect_body?: boolean | undefined; detect_face?: boolean | undefined; detect_hands?: boolean | undefined; object_min_size?: number | undefined; }, { low_threshold?: number | undefined; high_threshold?: number | undefined; detect_body?: boolean | undefined; detect_face?: boolean | undefined; detect_hands?: boolean | undefined; object_min_size?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "canny" | "depth" | "openpose" | "qrcode" | "scribble" | "lineart" | "semantic_seg"; image: string; start_percent: number; end_percent: number; controlnet_model?: string | undefined; strength?: number | undefined; preprocessor_options?: { low_threshold?: number | undefined; high_threshold?: number | undefined; detect_body?: boolean | undefined; detect_face?: boolean | undefined; detect_hands?: boolean | undefined; object_min_size?: number | undefined; } | undefined; }, { type: "canny" | "depth" | "openpose" | "qrcode" | "scribble" | "lineart" | "semantic_seg"; image: string; controlnet_model?: string | undefined; strength?: number | undefined; start_percent?: number | undefined; end_percent?: number | undefined; preprocessor_options?: { low_threshold?: number | undefined; high_threshold?: number | undefined; detect_body?: boolean | undefined; detect_face?: boolean | undefined; detect_hands?: boolean | undefined; object_min_size?: number | undefined; } | undefined; }>, "many">; preprocess: z.ZodDefault>; width: z.ZodDefault>; height: z.ZodDefault>; steps: z.ZodDefault>; cfg_scale: z.ZodDefault>; sampler: z.ZodDefault>; scheduler: z.ZodDefault>; model: z.ZodOptional; seed: z.ZodOptional; loras: z.ZodOptional>; strength_clip: z.ZodDefault>; }, "strip", z.ZodTypeAny, { name: string; strength_model: number; strength_clip: number; }, { name: string; strength_model?: number | undefined; strength_clip?: number | undefined; }>, "many">>; output_path: z.ZodString; }, "strip", z.ZodTypeAny, { preprocess: boolean; steps: number; width: number; height: number; output_path: string; prompt: string; scheduler: string; sampler: string; cfg_scale: number; controls: { type: "canny" | "depth" | "openpose" | "qrcode" | "scribble" | "lineart" | "semantic_seg"; image: string; start_percent: number; end_percent: number; controlnet_model?: string | undefined; strength?: number | undefined; preprocessor_options?: { low_threshold?: number | undefined; high_threshold?: number | undefined; detect_body?: boolean | undefined; detect_face?: boolean | undefined; detect_hands?: boolean | undefined; object_min_size?: number | undefined; } | undefined; }[]; model?: string | undefined; seed?: number | undefined; negative_prompt?: string | undefined; loras?: { name: string; strength_model: number; strength_clip: number; }[] | undefined; }, { output_path: string; prompt: string; controls: { type: "canny" | "depth" | "openpose" | "qrcode" | "scribble" | "lineart" | "semantic_seg"; image: string; controlnet_model?: string | undefined; strength?: number | undefined; start_percent?: number | undefined; end_percent?: number | undefined; preprocessor_options?: { low_threshold?: number | undefined; high_threshold?: number | undefined; detect_body?: boolean | undefined; detect_face?: boolean | undefined; detect_hands?: boolean | undefined; object_min_size?: number | undefined; } | undefined; }[]; preprocess?: boolean | undefined; model?: string | undefined; steps?: number | undefined; seed?: number | undefined; width?: number | undefined; height?: number | undefined; scheduler?: string | undefined; sampler?: string | undefined; negative_prompt?: string | undefined; cfg_scale?: number | undefined; loras?: { name: string; strength_model?: number | undefined; strength_clip?: number | undefined; }[] | undefined; }>; export declare const preprocessControlImageSchema: z.ZodObject<{ input_image: z.ZodString; control_type: z.ZodEnum<["canny", "depth", "openpose", "qrcode", "scribble", "lineart", "semantic_seg"]>; preprocessor_options: z.ZodOptional; high_threshold: z.ZodOptional; detect_body: z.ZodOptional; detect_face: z.ZodOptional; detect_hands: z.ZodOptional; object_min_size: z.ZodOptional; }, "strip", z.ZodTypeAny, { low_threshold?: number | undefined; high_threshold?: number | undefined; detect_body?: boolean | undefined; detect_face?: boolean | undefined; detect_hands?: boolean | undefined; object_min_size?: number | undefined; }, { low_threshold?: number | undefined; high_threshold?: number | undefined; detect_body?: boolean | undefined; detect_face?: boolean | undefined; detect_hands?: boolean | undefined; object_min_size?: number | undefined; }>>; output_path: z.ZodString; }, "strip", z.ZodTypeAny, { output_path: string; input_image: string; control_type: "canny" | "depth" | "openpose" | "qrcode" | "scribble" | "lineart" | "semantic_seg"; preprocessor_options?: { low_threshold?: number | undefined; high_threshold?: number | undefined; detect_body?: boolean | undefined; detect_face?: boolean | undefined; detect_hands?: boolean | undefined; object_min_size?: number | undefined; } | undefined; }, { output_path: string; input_image: string; control_type: "canny" | "depth" | "openpose" | "qrcode" | "scribble" | "lineart" | "semantic_seg"; preprocessor_options?: { low_threshold?: number | undefined; high_threshold?: number | undefined; detect_body?: boolean | undefined; detect_face?: boolean | undefined; detect_hands?: boolean | undefined; object_min_size?: number | undefined; } | undefined; }>; export declare const generateWithHiddenImageSchema: z.ZodObject<{ prompt: z.ZodString; negative_prompt: z.ZodOptional; hidden_image: z.ZodString; convert_to_bw: z.ZodDefault>; bw_threshold: z.ZodDefault>; bw_invert: z.ZodDefault>; visibility: z.ZodDefault>>; width: z.ZodDefault>; height: z.ZodDefault>; steps: z.ZodDefault>; cfg_scale: z.ZodDefault>; sampler: z.ZodDefault>; scheduler: z.ZodDefault>; model: z.ZodOptional; seed: z.ZodOptional; loras: z.ZodOptional>; strength_clip: z.ZodDefault>; }, "strip", z.ZodTypeAny, { name: string; strength_model: number; strength_clip: number; }, { name: string; strength_model?: number | undefined; strength_clip?: number | undefined; }>, "many">>; output_path: z.ZodString; }, "strip", z.ZodTypeAny, { steps: number; width: number; height: number; output_path: string; prompt: string; scheduler: string; sampler: string; cfg_scale: number; hidden_image: string; convert_to_bw: boolean; bw_threshold: number; bw_invert: boolean; visibility: "subtle" | "moderate" | "obvious"; model?: string | undefined; seed?: number | undefined; negative_prompt?: string | undefined; loras?: { name: string; strength_model: number; strength_clip: number; }[] | undefined; }, { output_path: string; prompt: string; hidden_image: string; model?: string | undefined; steps?: number | undefined; seed?: number | undefined; width?: number | undefined; height?: number | undefined; scheduler?: string | undefined; sampler?: string | undefined; negative_prompt?: string | undefined; cfg_scale?: number | undefined; loras?: { name: string; strength_model?: number | undefined; strength_clip?: number | undefined; }[] | undefined; convert_to_bw?: boolean | undefined; bw_threshold?: number | undefined; bw_invert?: boolean | undefined; visibility?: "subtle" | "moderate" | "obvious" | undefined; }>; export declare const stylizePhotoSchema: z.ZodObject<{ source_image: z.ZodString; style: z.ZodEnum<["anime", "oil_painting", "watercolor", "comic", "sketch", "ghibli"]>; prompt: z.ZodOptional; preserve_detail: z.ZodDefault>>; width: z.ZodOptional; height: z.ZodOptional; steps: z.ZodDefault>; cfg_scale: z.ZodDefault>; sampler: z.ZodDefault>; scheduler: z.ZodDefault>; model: z.ZodOptional; seed: z.ZodOptional; loras: z.ZodOptional>; strength_clip: z.ZodDefault>; }, "strip", z.ZodTypeAny, { name: string; strength_model: number; strength_clip: number; }, { name: string; strength_model?: number | undefined; strength_clip?: number | undefined; }>, "many">>; output_path: z.ZodString; }, "strip", z.ZodTypeAny, { style: "anime" | "oil_painting" | "watercolor" | "sketch" | "comic" | "ghibli"; steps: number; output_path: string; scheduler: string; sampler: string; cfg_scale: number; source_image: string; preserve_detail: "high" | "low" | "medium"; model?: string | undefined; seed?: number | undefined; width?: number | undefined; height?: number | undefined; prompt?: string | undefined; loras?: { name: string; strength_model: number; strength_clip: number; }[] | undefined; }, { style: "anime" | "oil_painting" | "watercolor" | "sketch" | "comic" | "ghibli"; output_path: string; source_image: string; model?: string | undefined; steps?: number | undefined; seed?: number | undefined; width?: number | undefined; height?: number | undefined; prompt?: string | undefined; scheduler?: string | undefined; sampler?: string | undefined; cfg_scale?: number | undefined; loras?: { name: string; strength_model?: number | undefined; strength_clip?: number | undefined; }[] | undefined; preserve_detail?: "high" | "low" | "medium" | undefined; }>; export declare const generateWithPoseSchema: z.ZodObject<{ prompt: z.ZodString; negative_prompt: z.ZodOptional; pose_reference: z.ZodString; copy_face: z.ZodDefault>; copy_hands: z.ZodDefault>; width: z.ZodDefault>; height: z.ZodDefault>; steps: z.ZodDefault>; cfg_scale: z.ZodDefault>; sampler: z.ZodDefault>; scheduler: z.ZodDefault>; model: z.ZodOptional; seed: z.ZodOptional; loras: z.ZodOptional>; strength_clip: z.ZodDefault>; }, "strip", z.ZodTypeAny, { name: string; strength_model: number; strength_clip: number; }, { name: string; strength_model?: number | undefined; strength_clip?: number | undefined; }>, "many">>; output_path: z.ZodString; }, "strip", z.ZodTypeAny, { steps: number; width: number; height: number; output_path: string; prompt: string; scheduler: string; sampler: string; cfg_scale: number; pose_reference: string; copy_face: boolean; copy_hands: boolean; model?: string | undefined; seed?: number | undefined; negative_prompt?: string | undefined; loras?: { name: string; strength_model: number; strength_clip: number; }[] | undefined; }, { output_path: string; prompt: string; pose_reference: string; model?: string | undefined; steps?: number | undefined; seed?: number | undefined; width?: number | undefined; height?: number | undefined; scheduler?: string | undefined; sampler?: string | undefined; negative_prompt?: string | undefined; cfg_scale?: number | undefined; loras?: { name: string; strength_model?: number | undefined; strength_clip?: number | undefined; }[] | undefined; copy_face?: boolean | undefined; copy_hands?: boolean | undefined; }>; export declare const generateWithCompositionSchema: z.ZodObject<{ prompt: z.ZodString; negative_prompt: z.ZodOptional; composition_reference: z.ZodString; strength: z.ZodDefault>; width: z.ZodOptional; height: z.ZodOptional; steps: z.ZodDefault>; cfg_scale: z.ZodDefault>; sampler: z.ZodDefault>; scheduler: z.ZodDefault>; model: z.ZodOptional; seed: z.ZodOptional; loras: z.ZodOptional>; strength_clip: z.ZodDefault>; }, "strip", z.ZodTypeAny, { name: string; strength_model: number; strength_clip: number; }, { name: string; strength_model?: number | undefined; strength_clip?: number | undefined; }>, "many">>; output_path: z.ZodString; }, "strip", z.ZodTypeAny, { steps: number; output_path: string; prompt: string; scheduler: string; sampler: string; cfg_scale: number; strength: number; composition_reference: string; model?: string | undefined; seed?: number | undefined; width?: number | undefined; height?: number | undefined; negative_prompt?: string | undefined; loras?: { name: string; strength_model: number; strength_clip: number; }[] | undefined; }, { output_path: string; prompt: string; composition_reference: string; model?: string | undefined; steps?: number | undefined; seed?: number | undefined; width?: number | undefined; height?: number | undefined; scheduler?: string | undefined; sampler?: string | undefined; negative_prompt?: string | undefined; cfg_scale?: number | undefined; loras?: { name: string; strength_model?: number | undefined; strength_clip?: number | undefined; }[] | undefined; strength?: number | undefined; }>; export type GenerateWithControlNetInput = z.infer; export type GenerateWithMultiControlNetInput = z.infer; export type PreprocessControlImageInput = z.infer; export type GenerateWithHiddenImageInput = z.infer; export type StylizePhotoInput = z.infer; export type GenerateWithPoseInput = z.infer; export type GenerateWithCompositionInput = z.infer; /** * Generate an image with a single ControlNet */ export declare function generateWithControlNet(client: ComfyUIClient, input: GenerateWithControlNetInput, defaultModel: string): Promise<{ success: boolean; path: string; seed: number; message: string; control_type: string; }>; /** * Generate an image with multiple ControlNets */ export declare function generateWithMultiControlNet(client: ComfyUIClient, input: GenerateWithMultiControlNetInput, defaultModel: string): Promise<{ success: boolean; path: string; seed: number; message: string; control_types: string[]; }>; /** * Preprocess an image for ControlNet (preview the control signal) */ export declare function preprocessControlImage(client: ComfyUIClient, input: PreprocessControlImageInput): Promise<{ success: boolean; path: string; message: string; }>; /** * Convert an image to high-contrast black and white using sharp. * * @param inputPath - Path to the input image * @param outputPath - Path to save the B&W image * @param threshold - Threshold value (0-255). Pixels above become white, below become black. * @param invert - If true, swap black and white * @returns The output path */ export declare function convertToHighContrastBW(inputPath: string, outputPath: string, threshold?: number, invert?: boolean): Promise; /** * Generate an image with a hidden image embedded (QR Code ControlNet) */ export declare function generateWithHiddenImage(client: ComfyUIClient, input: GenerateWithHiddenImageInput, defaultModel: string): Promise<{ success: boolean; path: string; seed: number; message: string; preprocessed?: string; }>; /** * Stylize a photo into an artistic style */ export declare function stylizePhoto(client: ComfyUIClient, input: StylizePhotoInput, defaultModel: string): Promise<{ success: boolean; path: string; seed: number; message: string; style: string; }>; /** * Generate with a specific pose */ export declare function generateWithPose(client: ComfyUIClient, input: GenerateWithPoseInput, defaultModel: string): Promise<{ success: boolean; path: string; seed: number; message: string; }>; /** * Generate with a composition reference */ export declare function generateWithComposition(client: ComfyUIClient, input: GenerateWithCompositionInput, defaultModel: string): Promise<{ success: boolean; path: string; seed: number; message: string; }>; /** * List available ControlNet models by type */ export declare function listControlNetModels(client: ComfyUIClient): Promise>;