import { type CliRuntime, type CommandContext } from "@velum-labs/routekit-cli-core"; import type { SelectOption } from "@velum-labs/routekit-cli-ui"; import { type RouterConfig } from "@velum-labs/routekit-config"; import { type ProviderSource } from "@velum-labs/routekit-gateway"; import { RouteKitFailure } from "@velum-labs/routekit-runtime/effect"; import { Effect } from "effect"; import { LoginAndActivateSubscription } from "../account-login/service.js"; export declare const SETUP_API_PROVIDER_IDS: readonly ["openai", "anthropic", "openrouter", "bedrock"]; export declare const SETUP_SUBSCRIPTION_IDS: readonly ["codex", "claude-code"]; export type SetupApiProviderId = (typeof SETUP_API_PROVIDER_IDS)[number]; export type SetupSubscriptionId = (typeof SETUP_SUBSCRIPTION_IDS)[number]; export type SetupRouteId = SetupApiProviderId | SetupSubscriptionId; export declare function setupCandidateConfig(apiProviders: readonly SetupApiProviderId[]): RouterConfig; export declare function credentialDescription(provider: SetupApiProviderId): string; export type SetupPreflightResult = { provider: SetupApiProviderId; models: string[]; }; export declare function preflightSetupApiProvider(provider: SetupApiProviderId, options?: { env?: NodeJS.ProcessEnv; source?: ProviderSource; }): Effect.Effect<{ provider: "bedrock" | "openai" | "anthropic" | "openrouter"; models: string[]; }, RouteKitFailure, any>; export declare function preferredModelOptions(models: ReadonlyArray<{ id: string; }>, input: { currentDefault?: string; firstSelectedRoute?: SetupRouteId; }): Array>; export declare class SetupRouteKit { private readonly loginAndActivateSubscription; constructor(loginAndActivateSubscription?: LoginAndActivateSubscription); execute(input: { browser?: boolean; context: CommandContext; runtime: CliRuntime; }): Effect.Effect; }