import { DuckDBService } from '../duckdb/service.js'; /** * Resource types that can be mapped to DuckDB tables */ export declare enum ResourceType { JSON = "application/json", CSV = "text/csv", PARQUET = "application/parquet", TEXT = "text/plain", UNKNOWN = "unknown" } /** * Metadata about a mapped resource */ export interface MappedResource { resourceUri: string; tableName: string; resourceType: ResourceType; serverAlias?: string; createdAt: Date; lastRefresh?: Date; rowCount?: number; columns?: Array<{ name: string; type: string; }>; } /** * Maps MCP resources to DuckDB tables */ export declare class ResourceMapper { private mappedResources; private duckdb; constructor(duckdb: DuckDBService); /** * Detect resource type from MIME type or content */ detectResourceType(mimeType?: string, content?: string): ResourceType; /** * Map a resource to a DuckDB table */ mapResource(resourceUri: string, tableName: string, data: any, mimeType?: string, serverAlias?: string): Promise; /** * Map JSON data to a DuckDB table */ private mapJSONResource; /** * Map CSV data to a DuckDB table */ private mapCSVResource; /** * Map Parquet data to a DuckDB table */ private mapParquetResource; /** * Handle Parquet file reference from MCPClient */ private handleParquetFileReference; /** * Convert array of objects to CSV string */ private arrayToCSV; /** * Refresh a mapped resource */ refreshResource(tableName: string, newData: any): Promise; /** * Get information about a mapped resource */ getMappedResource(tableName: string): MappedResource | undefined; /** * List all mapped resources */ listMappedResources(): MappedResource[]; /** * Unmap a resource (drop the table) */ unmapResource(tableName: string): Promise; /** * Clear all mapped resources */ clearAllMappings(): Promise; } //# sourceMappingURL=ResourceMapper.d.ts.map