/**
 * Type definitions for the MCP server implementation.
 */
export type ToolHandler = (...args: any[]) => Promise<any> | any;
export type ResourceHandler = (url: string) => Promise<any> | any;
export interface ToolConfig {
    name: string;
    description: string;
    handler: ToolHandler;
    parameters?: Record<string, ParameterConfig>;
}
export interface ParameterConfig {
    type: 'string' | 'number' | 'boolean' | 'array' | 'object';
    description?: string;
    required?: boolean;
    default?: any;
}
export interface ResourceConfig {
    name: string;
    uri: string;
    mimeType: string;
    handler: ResourceHandler;
}
export interface ToolCallRequest {
    name: string;
    parameters: Record<string, any>;
}
export interface ToolCallResponse {
    result: any;
    error?: string;
}
export interface MCPServerOptions {
    dependencies?: string[];
    description?: string;
    version?: string;
}
export interface ResourceResponse {
    contents: ResourceContent[];
}
export interface ResourceContent {
    uri: string;
    mimeType: string;
    text: string;
}
//# sourceMappingURL=types.d.ts.map