/**
 * @license
 * Copyright 2025 Steven Roussey <sroussey@gmail.com>
 * SPDX-License-Identifier: Apache-2.0
 */
import type { TaskEntitlements } from "@workglow/task-graph";
import { CreateWorkflow, IExecuteContext, Task, TaskConfig } from "@workglow/task-graph";
import { DataPortSchema, FromSchema } from "@workglow/util/schema";
import type { McpServerConfig } from "../../util/McpTaskDeps";
declare const fallbackOutputSchema: {
    readonly type: "object";
    readonly properties: {
        readonly messages: {
            readonly type: "array";
            readonly items: {
                readonly type: "object";
                readonly properties: {
                    readonly role: {
                        readonly type: "string";
                        readonly enum: readonly ["user", "assistant"];
                    };
                    readonly content: {
                        readonly anyOf: readonly [{
                            readonly type: "object";
                            readonly properties: {
                                readonly type: {
                                    readonly type: "string";
                                    readonly const: "text";
                                };
                                readonly text: {
                                    readonly type: "string";
                                };
                                readonly annotations: {
                                    readonly type: "object";
                                    readonly properties: {
                                        readonly audience: {
                                            readonly type: "array";
                                            readonly items: {
                                                readonly type: "string";
                                                readonly enum: readonly ["user", "assistant"];
                                            };
                                        };
                                        readonly priority: {
                                            readonly type: "number";
                                        };
                                        readonly lastModified: {
                                            readonly type: "string";
                                        };
                                    };
                                    readonly additionalProperties: false;
                                };
                                readonly _meta: {
                                    readonly type: "object";
                                    readonly additionalProperties: true;
                                };
                            };
                            readonly required: readonly ["type", "text"];
                            readonly additionalProperties: false;
                        }, {
                            readonly type: "object";
                            readonly properties: {
                                readonly type: {
                                    readonly type: "string";
                                    readonly const: "image";
                                };
                                readonly data: {
                                    readonly type: "string";
                                };
                                readonly mimeType: {
                                    readonly type: "string";
                                };
                                readonly annotations: {
                                    readonly type: "object";
                                    readonly properties: {
                                        readonly audience: {
                                            readonly type: "array";
                                            readonly items: {
                                                readonly type: "string";
                                                readonly enum: readonly ["user", "assistant"];
                                            };
                                        };
                                        readonly priority: {
                                            readonly type: "number";
                                        };
                                        readonly lastModified: {
                                            readonly type: "string";
                                        };
                                    };
                                    readonly additionalProperties: false;
                                };
                                readonly _meta: {
                                    readonly type: "object";
                                    readonly additionalProperties: true;
                                };
                            };
                            readonly required: readonly ["type", "data", "mimeType"];
                            readonly additionalProperties: false;
                        }, {
                            readonly type: "object";
                            readonly properties: {
                                readonly type: {
                                    readonly type: "string";
                                    readonly const: "audio";
                                };
                                readonly data: {
                                    readonly type: "string";
                                };
                                readonly mimeType: {
                                    readonly type: "string";
                                };
                                readonly annotations: {
                                    readonly type: "object";
                                    readonly properties: {
                                        readonly audience: {
                                            readonly type: "array";
                                            readonly items: {
                                                readonly type: "string";
                                                readonly enum: readonly ["user", "assistant"];
                                            };
                                        };
                                        readonly priority: {
                                            readonly type: "number";
                                        };
                                        readonly lastModified: {
                                            readonly type: "string";
                                        };
                                    };
                                    readonly additionalProperties: false;
                                };
                                readonly _meta: {
                                    readonly type: "object";
                                    readonly additionalProperties: true;
                                };
                            };
                            readonly required: readonly ["type", "data", "mimeType"];
                            readonly additionalProperties: false;
                        }, {
                            readonly type: "object";
                            readonly properties: {
                                readonly type: {
                                    readonly type: "string";
                                    readonly const: "resource";
                                };
                                readonly resource: {
                                    readonly type: "object";
                                    readonly properties: {
                                        readonly uri: {
                                            readonly type: "string";
                                        };
                                        readonly text: {
                                            readonly type: "string";
                                        };
                                        readonly blob: {
                                            readonly type: "string";
                                        };
                                        readonly mimeType: {
                                            readonly type: "string";
                                        };
                                        readonly _meta: {
                                            readonly type: "object";
                                            readonly additionalProperties: true;
                                        };
                                    };
                                    readonly required: readonly ["uri"];
                                    readonly additionalProperties: false;
                                };
                                readonly annotations: {
                                    readonly type: "object";
                                    readonly properties: {
                                        readonly audience: {
                                            readonly type: "array";
                                            readonly items: {
                                                readonly type: "string";
                                                readonly enum: readonly ["user", "assistant"];
                                            };
                                        };
                                        readonly priority: {
                                            readonly type: "number";
                                        };
                                        readonly lastModified: {
                                            readonly type: "string";
                                        };
                                    };
                                    readonly additionalProperties: false;
                                };
                                readonly _meta: {
                                    readonly type: "object";
                                    readonly additionalProperties: true;
                                };
                            };
                            readonly required: readonly ["type", "resource"];
                            readonly additionalProperties: false;
                        }, {
                            readonly type: "object";
                            readonly properties: {
                                readonly type: {
                                    readonly type: "string";
                                    readonly const: "resource_link";
                                };
                                readonly uri: {
                                    readonly type: "string";
                                };
                                readonly name: {
                                    readonly type: "string";
                                };
                                readonly description: {
                                    readonly type: "string";
                                };
                                readonly mimeType: {
                                    readonly type: "string";
                                };
                                readonly annotations: {
                                    readonly type: "object";
                                    readonly properties: {
                                        readonly audience: {
                                            readonly type: "array";
                                            readonly items: {
                                                readonly type: "string";
                                                readonly enum: readonly ["user", "assistant"];
                                            };
                                        };
                                        readonly priority: {
                                            readonly type: "number";
                                        };
                                        readonly lastModified: {
                                            readonly type: "string";
                                        };
                                    };
                                    readonly additionalProperties: false;
                                };
                                readonly icons: {
                                    readonly type: "array";
                                    readonly items: {
                                        readonly type: "object";
                                        readonly properties: {
                                            readonly src: {
                                                readonly type: "string";
                                            };
                                            readonly mimeType: {
                                                readonly type: "string";
                                            };
                                            readonly sizes: {
                                                readonly type: "array";
                                                readonly items: {
                                                    readonly type: "string";
                                                };
                                            };
                                            readonly theme: {
                                                readonly type: "string";
                                                readonly enum: readonly ["light", "dark"];
                                            };
                                        };
                                        readonly additionalProperties: false;
                                    };
                                };
                                readonly title: {
                                    readonly type: "string";
                                };
                                readonly _meta: {
                                    readonly type: "object";
                                    readonly additionalProperties: true;
                                };
                            };
                            readonly required: readonly ["type", "uri", "name"];
                            readonly additionalProperties: false;
                        }];
                    };
                };
                readonly required: readonly ["role", "content"];
                readonly additionalProperties: false;
            };
            readonly title: "Messages";
            readonly description: "The messages returned by the prompt";
        };
        readonly description: {
            readonly type: "string";
            readonly title: "Description";
            readonly description: "The description of the prompt";
        };
    };
    readonly required: readonly ["messages"];
    readonly additionalProperties: false;
};
export type McpPromptGetTaskConfig = TaskConfig & Record<string, unknown>;
export type McpPromptGetTaskInput = Record<string, unknown>;
export type McpPromptGetTaskOutput = FromSchema<typeof fallbackOutputSchema>;
export declare class McpPromptGetTask extends Task<McpPromptGetTaskInput, McpPromptGetTaskOutput, McpPromptGetTaskConfig> {
    static type: string;
    static category: string;
    static title: string;
    static description: string;
    static readonly cacheable = false;
    static customizable: boolean;
    static hasDynamicSchemas: boolean;
    static hasDynamicEntitlements: boolean;
    static entitlements(): TaskEntitlements;
    entitlements(): TaskEntitlements;
    static inputSchema(): {
        readonly type: "object";
        readonly properties: {};
        readonly additionalProperties: false;
    };
    static outputSchema(): {
        readonly type: "object";
        readonly properties: {
            readonly messages: {
                readonly type: "array";
                readonly items: {
                    readonly type: "object";
                    readonly properties: {
                        readonly role: {
                            readonly type: "string";
                            readonly enum: readonly ["user", "assistant"];
                        };
                        readonly content: {
                            readonly anyOf: readonly [{
                                readonly type: "object";
                                readonly properties: {
                                    readonly type: {
                                        readonly type: "string";
                                        readonly const: "text";
                                    };
                                    readonly text: {
                                        readonly type: "string";
                                    };
                                    readonly annotations: {
                                        readonly type: "object";
                                        readonly properties: {
                                            readonly audience: {
                                                readonly type: "array";
                                                readonly items: {
                                                    readonly type: "string";
                                                    readonly enum: readonly ["user", "assistant"];
                                                };
                                            };
                                            readonly priority: {
                                                readonly type: "number";
                                            };
                                            readonly lastModified: {
                                                readonly type: "string";
                                            };
                                        };
                                        readonly additionalProperties: false;
                                    };
                                    readonly _meta: {
                                        readonly type: "object";
                                        readonly additionalProperties: true;
                                    };
                                };
                                readonly required: readonly ["type", "text"];
                                readonly additionalProperties: false;
                            }, {
                                readonly type: "object";
                                readonly properties: {
                                    readonly type: {
                                        readonly type: "string";
                                        readonly const: "image";
                                    };
                                    readonly data: {
                                        readonly type: "string";
                                    };
                                    readonly mimeType: {
                                        readonly type: "string";
                                    };
                                    readonly annotations: {
                                        readonly type: "object";
                                        readonly properties: {
                                            readonly audience: {
                                                readonly type: "array";
                                                readonly items: {
                                                    readonly type: "string";
                                                    readonly enum: readonly ["user", "assistant"];
                                                };
                                            };
                                            readonly priority: {
                                                readonly type: "number";
                                            };
                                            readonly lastModified: {
                                                readonly type: "string";
                                            };
                                        };
                                        readonly additionalProperties: false;
                                    };
                                    readonly _meta: {
                                        readonly type: "object";
                                        readonly additionalProperties: true;
                                    };
                                };
                                readonly required: readonly ["type", "data", "mimeType"];
                                readonly additionalProperties: false;
                            }, {
                                readonly type: "object";
                                readonly properties: {
                                    readonly type: {
                                        readonly type: "string";
                                        readonly const: "audio";
                                    };
                                    readonly data: {
                                        readonly type: "string";
                                    };
                                    readonly mimeType: {
                                        readonly type: "string";
                                    };
                                    readonly annotations: {
                                        readonly type: "object";
                                        readonly properties: {
                                            readonly audience: {
                                                readonly type: "array";
                                                readonly items: {
                                                    readonly type: "string";
                                                    readonly enum: readonly ["user", "assistant"];
                                                };
                                            };
                                            readonly priority: {
                                                readonly type: "number";
                                            };
                                            readonly lastModified: {
                                                readonly type: "string";
                                            };
                                        };
                                        readonly additionalProperties: false;
                                    };
                                    readonly _meta: {
                                        readonly type: "object";
                                        readonly additionalProperties: true;
                                    };
                                };
                                readonly required: readonly ["type", "data", "mimeType"];
                                readonly additionalProperties: false;
                            }, {
                                readonly type: "object";
                                readonly properties: {
                                    readonly type: {
                                        readonly type: "string";
                                        readonly const: "resource";
                                    };
                                    readonly resource: {
                                        readonly type: "object";
                                        readonly properties: {
                                            readonly uri: {
                                                readonly type: "string";
                                            };
                                            readonly text: {
                                                readonly type: "string";
                                            };
                                            readonly blob: {
                                                readonly type: "string";
                                            };
                                            readonly mimeType: {
                                                readonly type: "string";
                                            };
                                            readonly _meta: {
                                                readonly type: "object";
                                                readonly additionalProperties: true;
                                            };
                                        };
                                        readonly required: readonly ["uri"];
                                        readonly additionalProperties: false;
                                    };
                                    readonly annotations: {
                                        readonly type: "object";
                                        readonly properties: {
                                            readonly audience: {
                                                readonly type: "array";
                                                readonly items: {
                                                    readonly type: "string";
                                                    readonly enum: readonly ["user", "assistant"];
                                                };
                                            };
                                            readonly priority: {
                                                readonly type: "number";
                                            };
                                            readonly lastModified: {
                                                readonly type: "string";
                                            };
                                        };
                                        readonly additionalProperties: false;
                                    };
                                    readonly _meta: {
                                        readonly type: "object";
                                        readonly additionalProperties: true;
                                    };
                                };
                                readonly required: readonly ["type", "resource"];
                                readonly additionalProperties: false;
                            }, {
                                readonly type: "object";
                                readonly properties: {
                                    readonly type: {
                                        readonly type: "string";
                                        readonly const: "resource_link";
                                    };
                                    readonly uri: {
                                        readonly type: "string";
                                    };
                                    readonly name: {
                                        readonly type: "string";
                                    };
                                    readonly description: {
                                        readonly type: "string";
                                    };
                                    readonly mimeType: {
                                        readonly type: "string";
                                    };
                                    readonly annotations: {
                                        readonly type: "object";
                                        readonly properties: {
                                            readonly audience: {
                                                readonly type: "array";
                                                readonly items: {
                                                    readonly type: "string";
                                                    readonly enum: readonly ["user", "assistant"];
                                                };
                                            };
                                            readonly priority: {
                                                readonly type: "number";
                                            };
                                            readonly lastModified: {
                                                readonly type: "string";
                                            };
                                        };
                                        readonly additionalProperties: false;
                                    };
                                    readonly icons: {
                                        readonly type: "array";
                                        readonly items: {
                                            readonly type: "object";
                                            readonly properties: {
                                                readonly src: {
                                                    readonly type: "string";
                                                };
                                                readonly mimeType: {
                                                    readonly type: "string";
                                                };
                                                readonly sizes: {
                                                    readonly type: "array";
                                                    readonly items: {
                                                        readonly type: "string";
                                                    };
                                                };
                                                readonly theme: {
                                                    readonly type: "string";
                                                    readonly enum: readonly ["light", "dark"];
                                                };
                                            };
                                            readonly additionalProperties: false;
                                        };
                                    };
                                    readonly title: {
                                        readonly type: "string";
                                    };
                                    readonly _meta: {
                                        readonly type: "object";
                                        readonly additionalProperties: true;
                                    };
                                };
                                readonly required: readonly ["type", "uri", "name"];
                                readonly additionalProperties: false;
                            }];
                        };
                    };
                    readonly required: readonly ["role", "content"];
                    readonly additionalProperties: false;
                };
                readonly title: "Messages";
                readonly description: "The messages returned by the prompt";
            };
            readonly description: {
                readonly type: "string";
                readonly title: "Description";
                readonly description: "The description of the prompt";
            };
        };
        readonly required: readonly ["messages"];
        readonly additionalProperties: false;
    };
    static configSchema(): DataPortSchema;
    inputSchema(): DataPortSchema;
    outputSchema(): DataPortSchema;
    private _schemasDiscoveringPromise;
    discoverSchemas(_signal?: AbortSignal, serverConfig?: McpServerConfig): Promise<void>;
    execute(input: McpPromptGetTaskInput, context: IExecuteContext): Promise<McpPromptGetTaskOutput>;
}
export declare const mcpPromptGet: (input: McpPromptGetTaskInput, config: McpPromptGetTaskConfig) => Promise<McpPromptGetTaskOutput>;
declare module "@workglow/task-graph" {
    interface Workflow {
        mcpPromptGet: CreateWorkflow<McpPromptGetTaskInput, McpPromptGetTaskOutput, McpPromptGetTaskConfig>;
    }
}
export {};
//# sourceMappingURL=McpPromptGetTask.d.ts.map