import { Logger } from 'koishi'; export declare class ComfyUINode { serverEndpoint: any; isSecureConnection: boolean; clientId: any; ws: any; ctx: any; logger?: Logger; logEnabled: boolean; debugEnabled: boolean; httpProxy?: string; private envProxySnapshot; constructor(ctx: any, serverEndpoint: any, isSecureConnection?: boolean, logger?: Logger, logEnabled?: boolean, debugEnabled?: boolean, clientId?: any, httpProxy?: string); private sleep; private captureEnvProxy; private parseProxy; private isRetryableError; private withRetry; private log; /** * 用户上传图片,返回服务器的响应值 * @param {Buffer|ArrayBuffer} imageBuffer - 图片数据 * @param {string} filename - 文件名(需要包含扩展名,否则 ComfyUI 可能报错) * @param {boolean} overwrite - 是否覆盖已存在的文件,默认true * @param {object} options - 额外上传配置 * @param {number} options.timeoutMs - 单次请求超时时间,默认120000ms * @param {number} options.maxAttempts - 最大重试次数,默认3 * @returns {Promise} 服务器响应,包含success、data和message */ uploadImage(imageBuffer: any, filename: any, overwrite?: boolean, options?: { timeoutMs?: number; maxAttempts?: number; }): Promise<{ success: boolean; data: any; message: string; error?: undefined; } | { success: boolean; error: any; message: string; data?: undefined; }>; /** * 建立WebSocket连接 * @returns {Promise} */ connect(maxAttempts?: number): Promise; /** * 处理WebSocket消息 * @param {Object} message - WebSocket消息 */ _handleWebSocketMessage(message: any): void; /** * 断开WebSocket连接 * @returns {Promise} */ disconnect(): Promise; /** * 提交prompt到队列 * @param {Object} prompt - JSON格式的prompt * @returns {Promise} 队列响应 */ queuePrompt(prompt: any): Promise<{ success: boolean; data: any; prompt_id: any; number: any; error?: undefined; message?: undefined; } | { success: boolean; error: any; message: string; data?: undefined; prompt_id?: undefined; number?: undefined; }>; /** * 获取执行历史 * @param {string} promptId - prompt ID * @returns {Promise} 历史记录 */ getHistory(promptId: any): Promise<{ success: boolean; data: any; error?: undefined; message?: undefined; } | { success: boolean; error: any; message: string; data?: undefined; }>; /** * 获取生成的图片 * @param {string} filename - 文件名 * @param {string} subfolder - 子文件夹 * @param {string} type - 类型 * @returns {Promise} 图片数据 */ getImage(filename: any, subfolder?: string, type?: string): Promise<{ success: boolean; data: ArrayBuffer; buffer: Buffer; error?: undefined; message?: undefined; } | { success: boolean; error: any; message: string; data?: undefined; buffer?: undefined; }>; /** * 等待prompt执行完成并获取结果 * @param {string} promptId - prompt ID * @returns {Promise} 执行结果 */ waitForCompletion(promptId: any): Promise; /** * 避免缓存:修改prompt中的随机参数 * @param {Object} promptJson - 原始prompt * @param {boolean} avoidCache - 是否避免缓存,默认true * @returns {Object} 修改后的prompt */ _modifyPromptToAvoidCache(promptJson: any, avoidCache?: boolean): any; private _injectPlaceholders; /** * 用户上传JSON格式的prompt文本,执行该prompt工作流 * 执行后轮询,直到成功后返回服务器的响应值 * @param {Object} workflowJson - JSON格式的prompt * @param {string} userPrompt - 用户输入的prompt * @param {Object} options - 执行选项 * @param {boolean} options.avoidCache - 是否避免缓存,默认true * @param {PlaceholderDict} options.placeholders - 其他占位符替换 * @returns {Promise} 执行结果 */ executePromptWorkflow(workflowJson: any, userPrompt: string, options?: any): Promise; /** * 中断当前执行 * @returns {Promise} 中断结果 */ interrupt(): Promise<{ success: boolean; data: any; message: string; error?: undefined; } | { success: boolean; error: any; message: string; data?: undefined; }>; /** * 获取队列状态 * @returns {Promise} 队列状态 */ getQueueStatus(): Promise<{ success: boolean; data: any; message: string; error?: undefined; } | { success: boolean; error: any; message: string; data?: undefined; }>; } export default ComfyUINode;