/**
 * @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";
declare const inputSchema: {
    readonly type: "object";
    readonly properties: {};
    readonly additionalProperties: false;
};
declare const outputSchema: {
    readonly type: "object";
    readonly properties: {
        readonly contents: {
            readonly type: "array";
            readonly items: {
                readonly anyOf: readonly [{
                    readonly type: "object";
                    readonly properties: {
                        readonly uri: {
                            readonly type: "string";
                        };
                        readonly text: {
                            readonly type: "string";
                        };
                        readonly mimeType: {
                            readonly type: "string";
                        };
                        readonly _meta: {
                            readonly type: "object";
                            readonly additionalProperties: true;
                        };
                    };
                    readonly required: readonly ["uri", "text"];
                    readonly additionalProperties: false;
                }, {
                    readonly type: "object";
                    readonly properties: {
                        readonly uri: {
                            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", "blob"];
                    readonly additionalProperties: false;
                }];
            };
            readonly title: "Contents";
            readonly description: "The contents of the resource";
        };
    };
    readonly required: readonly ["contents"];
    readonly additionalProperties: false;
};
export type McpResourceReadTaskConfig = TaskConfig & Record<string, unknown>;
export type McpResourceReadTaskInput = FromSchema<typeof inputSchema>;
export type McpResourceReadTaskOutput = FromSchema<typeof outputSchema>;
export declare class McpResourceReadTask extends Task<McpResourceReadTaskInput, McpResourceReadTaskOutput, McpResourceReadTaskConfig> {
    static type: string;
    static category: string;
    static title: string;
    static description: string;
    static readonly cacheable = false;
    static customizable: 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 contents: {
                readonly type: "array";
                readonly items: {
                    readonly anyOf: readonly [{
                        readonly type: "object";
                        readonly properties: {
                            readonly uri: {
                                readonly type: "string";
                            };
                            readonly text: {
                                readonly type: "string";
                            };
                            readonly mimeType: {
                                readonly type: "string";
                            };
                            readonly _meta: {
                                readonly type: "object";
                                readonly additionalProperties: true;
                            };
                        };
                        readonly required: readonly ["uri", "text"];
                        readonly additionalProperties: false;
                    }, {
                        readonly type: "object";
                        readonly properties: {
                            readonly uri: {
                                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", "blob"];
                        readonly additionalProperties: false;
                    }];
                };
                readonly title: "Contents";
                readonly description: "The contents of the resource";
            };
        };
        readonly required: readonly ["contents"];
        readonly additionalProperties: false;
    };
    static configSchema(): DataPortSchema;
    execute(_input: McpResourceReadTaskInput, context: IExecuteContext): Promise<McpResourceReadTaskOutput>;
}
export declare const mcpResourceRead: (config: McpResourceReadTaskConfig) => Promise<McpResourceReadTaskOutput>;
declare module "@workglow/task-graph" {
    interface Workflow {
        mcpResourceRead: CreateWorkflow<McpResourceReadTaskInput, McpResourceReadTaskOutput, McpResourceReadTaskConfig>;
    }
}
export {};
//# sourceMappingURL=McpResourceReadTask.d.ts.map