import z from 'zod'; import { Tool } from 'fastmcp'; interface SignatureOptions { url: string; secretKey: string; } interface SignatureResult { signature: string; timestamp: number; signatureNonce: string; } type ParamsInput = { class_type: string; inputs: Record; }; export type GenerateParams = { workflowUuid: string; [nodeId: string]: ParamsInput | string; }; interface ComfyUIRequest { templateUuid: string; generateParams: T; } export interface ImageInfo { /** * 1:待审核 * 2:审核中 * 3:审核通过 * 4:审核拦截 * 5:审核失败 */ auditStatus: number; imageUrl: string; nodeId: string; outputName: string; } export interface GenerateStatusResult { accountBalance: number; /** * 1:等待执行 * 2:执行中 * 3:已生图 * 4:审核中 * 5:任务成功 * 6:任务失败 */ generateStatus: number; generateUuid: string; images: ImageInfo[]; percentCompleted: number; pointsCost: number; videos: any[]; generateMsg?: string; } /** * 生成签名 * @param options 签名选项 * @returns 签名结果 */ export declare function generateSignature(options: SignatureOptions): SignatureResult; /** * 调用ComfyUI工作流 * @param request 请求参数 * @returns Promise */ export declare function invokeComfyUIWorkflow(request: ComfyUIRequest): Promise; /** * 查询生图任务状态 * @param generateUuid 生图任务UUID * @returns Promise */ export declare function queryComfyUIImageStatus(generateUuid: string): Promise; export interface AdditionalNetwork { modelId: string; weight: number; } type PromptAdapter = (args: T, defaultArgs?: T) => string; export declare function qwenToolGenerator(options: { name: string; description: string; parameters: T; defaultHeight?: number; defaultWidth?: number; promptAdapter: PromptAdapter>; defaultParams?: z.infer; additionalNetwork?: AdditionalNetwork[]; enable8Step?: boolean; }): Tool; export interface TextToImageParams { prompt: string; negativePrompt?: string; width?: number; height?: number; additionalNetwork?: AdditionalNetwork[]; enable8Steps?: boolean; } /** * 使用千问模型调用文生图接口 * @param request 请求参数 * @returns Promise 返回生成任务的UUID */ export declare function invokeTextToImageByQwen(params: TextToImageParams): Promise; export {};