import { type RouterConfig } from "@velum-labs/routekit-config"; import { type CodexModelCandidate, type ReasoningSelection } from "@velum-labs/routekit-contracts"; import { toolRegistry as routekitToolRegistry } from "@velum-labs/routekit-tool-registry"; import type { ToolIntegration, ToolLaunchSpec } from "@velum-labs/routekit-tools"; import { Effect } from "effect"; import type { HttpClient } from "effect/unstable/http"; import { type LiveModel } from "../catalog.js"; export { routekitToolRegistry }; export declare function buildToolLaunchSpec(input: { config: RouterConfig; catalog: readonly LiveModel[]; gatewayUrl: string; model?: string; effort?: string; args?: readonly string[]; cwd?: string; authToken?: string; reasoning?: ReasoningSelection; modelSelection?: "explicit" | "implicit"; }): ToolLaunchSpec; export declare function resolveCodexLaunchSelection(input: { models: readonly LiveModel[]; preferredModel: string; model?: string; modelSelection?: "explicit" | "implicit"; prepared?: { compatibleModelIds: readonly string[]; models: readonly CodexModelCandidate[]; }; }): Effect.Effect<{ model: string; modelSelection: "explicit" | "implicit"; models: readonly LiveModel[]; }, Error, HttpClient.HttpClient>; export declare function launchToolWithIntegration(integration: ToolIntegration, spec: ToolLaunchSpec): Promise; export declare function launchTool(input: { tool: string; config?: RouterConfig; gatewayUrl: string; model?: string; effort?: string; args?: readonly string[]; cwd?: string; authToken?: string; reasoning?: ReasoningSelection; modelSelection?: "explicit" | "implicit"; preparedCodexSelection?: { compatibleModelIds: readonly string[]; models: readonly CodexModelCandidate[]; }; }): Effect.Effect;