import type { RequestHandlerExtra } from '../mcp.types';
export interface ResourceUriHandlerArgs {
    readonly type: 'resource:uri';
    readonly uri: URL;
    readonly extra: RequestHandlerExtra;
}
export interface ResourceTemplateHandlerArgs {
    readonly type: 'resource:template';
    readonly uri: URL;
    readonly variables?: Record<string, string>;
    readonly extra: RequestHandlerExtra;
}
export interface PromptHandlerArgs {
    readonly type: 'prompt';
    readonly args?: any;
    readonly extra: RequestHandlerExtra;
}
export interface ToolHandlerArgs {
    readonly type: 'tool';
    readonly params?: any;
    readonly extra: RequestHandlerExtra;
}
export type McpHandlerArgs = ResourceUriHandlerArgs | ResourceTemplateHandlerArgs | PromptHandlerArgs | ToolHandlerArgs;
