import type { AiConfiguration } from './provider'; import type { RouteArgs, RouterRouteArgs } from './schemas/route'; import type { Logger } from '@forestadmin/datasource-toolkit'; export type { AiQueryArgs, Body, InvokeRemoteToolArgs, InvokeRemoteToolBody, Query, RemoteToolsArgs, RouteArgs, RouterRouteArgs, } from './schemas/route'; export type Route = RouteArgs['route']; export declare class Router { private readonly localToolProviders; private readonly aiConfigurations; private readonly logger?; constructor(params?: { aiConfigurations?: AiConfiguration[]; localToolsApiKeys?: Record; logger?: Logger; }); private static readonly DISPATCHABLE_PROVIDERS; private static createLocalToolProviders; private validateConfigurations; /** * Route the request to the appropriate handler * * Routes: * - ai-query: Dispatch messages to the configured AI provider and return the response * - invoke-remote-tool: Execute a remote tool by name with the provided inputs * - remote-tools: Return the list of available remote tools definitions */ route(args: RouterRouteArgs): Promise; private static formatZodError; private getAiConfiguration; } //# sourceMappingURL=router.d.ts.map