import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import type { Contract, PollingOptions, RuntimePricingClient, RunApiPromptsResponse, RunApiTaskResponse, SearchPromptsParams, TaskLookupOptions } from "@runapi.ai/mcp-core/web"; export { actionRoutePath, errorFromResponse, findAction, PollTimeoutError, taskStatus } from "@runapi.ai/mcp-core/web"; export type { TaskLookupOptions } from "@runapi.ai/mcp-core/web"; export { CompletionWaitUnavailableError, HybridTaskResolutionError } from "./tools/authenticated-handlers.js"; export { COMPLETION_WAIT_DEADLINE_MS, COMPLETION_WAIT_POLL_INTERVAL_MS } from "./tools/authenticated-handlers.js"; export { HYBRID_TASK_COMPLETION_DEADLINE_MS, isHybridTaskAction } from "./hybrid-task-capability.js"; export type BusinessToolClient = Pick & { searchPrompts(params?: SearchPromptsParams): Promise; balance(): Promise; createTask(service: string, action: string, params: Record, idempotencyKey: string, route?: string): Promise; resolveHybridTask?(service: string, action: string, params: Record, idempotencyKey: string, options?: HybridTaskOptions, route?: string): Promise; getTask(service: string, taskId: string, action?: string, options?: TaskLookupOptions): Promise; pollTask(service: string, taskId: string, action?: string, options?: PollingOptions, lookup?: TaskLookupOptions): Promise; }; export type HybridTaskOptions = PollingOptions & { wait?: boolean; }; export type HybridTaskResult = Record; export type DiscoveryToolClient = Pick; export type DiscoveryServerOptions = { name: string; version: string; instructions?: string; contract: Contract; client: DiscoveryToolClient; errorFormatter?: (error: unknown) => string; }; export type BusinessServerOptions = Omit & { client: BusinessToolClient; }; export type DiscoveryToolDependencies = { contract: Contract; client: DiscoveryToolClient; errorFormatter: (error: unknown) => string; }; export type BusinessToolDependencies = Omit & { client: BusinessToolClient; }; export declare function createDiscoveryServer(options: DiscoveryServerOptions): McpServer; export declare function createBusinessServer(options: BusinessServerOptions): McpServer;