import type { AnyDatasetInstance, DatasetQuery, ExecutionContext, MetricHandle, MetricQuery } from './types.js'; import { getDatasetCatalog, type DatasetCatalogSource } from './catalog.js'; export type JsonSchema = { type?: string; description?: string; properties?: Record; items?: JsonSchema; required?: string[]; enum?: string[]; minimum?: number; maximum?: number; additionalProperties?: boolean; }; export interface SemanticToolDefinition, TResult = unknown> { name: string; description: string; parameters: JsonSchema; execute(input: TInput, context?: ExecutionContext): Promise; } export type DatasetToolMode = 'catalog' | 'per-dataset' | 'per-metric'; export interface DatasetToolAnalytics { execute(target: AnyDatasetInstance | MetricHandle, query?: DatasetQuery | MetricQuery, context?: ExecutionContext): Promise; } export interface GenerateDatasetToolsOptions { datasets: Record; analytics: DatasetToolAnalytics; mode?: DatasetToolMode; includeSql?: boolean; } export interface OpenAIToolDefinition { type: 'function'; function: { name: string; description: string; parameters: JsonSchema; }; } export interface AISDKToolDefinition { description: string; parameters: JsonSchema; execute(input: Record): Promise; } export interface McpToolDefinition { name: string; description: string; inputSchema: JsonSchema; } export declare function generateDatasetTools(options: GenerateDatasetToolsOptions): SemanticToolDefinition[]; export declare function toOpenAITools(tools: SemanticToolDefinition[]): OpenAIToolDefinition[]; export declare function toAISDKTools(tools: SemanticToolDefinition[]): Record; export declare function toMcpTools(tools: SemanticToolDefinition[]): McpToolDefinition[]; export { getDatasetCatalog }; //# sourceMappingURL=tools.d.ts.map