import type { ManagedOAuthCredential } from "@velum-labs/routekit-accounts"; import type { CommandContext } from "@velum-labs/routekit-cli-core"; import type { confirm } from "@velum-labs/routekit-cli-ui"; import { RouteKitFailure } from "@velum-labs/routekit-runtime/effect"; import { Context, Effect } from "effect"; import { type CloudAgent } from "../../adapters/cloud/credentials.js"; import { type CloudHttpOptions } from "../../adapters/cloud/http.js"; import type { localSourceSetup } from "../../adapters/cloud/local-setup.js"; import type { LaunchAccountKind } from "../../launch-support.js"; /** Process-owned Cloud transport and interactive platform operations. */ export type CloudCliPlatform = Readonly<{ home: string; http: CloudHttpOptions; captureCredential: (kind: LaunchAccountKind, label: string, options: { noBrowser: true; onProgress: (message: string) => void; }) => Promise<{ subscriptionKind: LaunchAccountKind; label: string; credential: ManagedOAuthCredential; }>; confirm: typeof confirm; sourceSetup: typeof localSourceSetup; }>; export declare const CloudCliPlatform: Context.Service void; }) => Promise<{ subscriptionKind: LaunchAccountKind; label: string; credential: ManagedOAuthCredential; }>; confirm: typeof confirm; sourceSetup: typeof localSourceSetup; }>, Readonly<{ home: string; http: CloudHttpOptions; captureCredential: (kind: LaunchAccountKind, label: string, options: { noBrowser: true; onProgress: (message: string) => void; }) => Promise<{ subscriptionKind: LaunchAccountKind; label: string; credential: ManagedOAuthCredential; }>; confirm: typeof confirm; sourceSetup: typeof localSourceSetup; }>>; export declare const cloudAccessToken: (origin: string, home: string, http?: Readonly<{ fetch?: typeof fetch; signal?: AbortSignal; }> | undefined, forceRefresh?: any) => Effect.Effect; export declare function withCloudLifecycleLock(home: string, effect: Effect.Effect): Effect.Effect; export declare const loginRouteKitCloud: (input: { origin: string; context: CommandContext; noBrowser?: boolean; home?: string; }, http?: Readonly<{ fetch?: typeof fetch; signal?: AbortSignal; }> | undefined) => Effect.Effect; export declare const installRouteKitCloud: (input: { agent: CloudAgent; origin?: string; replace?: boolean; repositoryConnectionId?: string; clearRepositoryBinding?: boolean; defaultModel?: string; agentHome?: string; home?: string; environment?: Readonly>; context: CommandContext; }) => Effect.Effect; export declare const cloudInstallationStatus: (input: { origin?: string; home?: string; }) => Effect.Effect<{ origin: string | null; sessionStored: boolean; pendingRevocations: number; pendingCredentialCleanups: number; agents: { catalogErrorCode?: string | undefined; catalogHttpStatus?: number | undefined; catalogReachable: boolean; modelCount: number; autoAdvertised: boolean; connectionUnavailable: boolean; status: string; repositoryConnectionId?: string | undefined; agent: CloudAgent; configPath: string; configPresent: boolean; keyPresent: boolean; }[]; }, RouteKitFailure, import("effect/unstable/http/HttpClient").HttpClient>; /** Refresh the native picker and credential-helper path without rotating an API key. */ export declare const syncRouteKitCloud: (input: { agent: CloudAgent; origin?: string; agentHome?: string; defaultModel?: string; repositoryConnectionId?: string; home?: string; environment?: Readonly>; context: CommandContext; }) => Effect.Effect; export declare const logoutRouteKitCloud: (input: { origin?: string; home?: string; context: CommandContext; }, http?: Readonly<{ fetch?: typeof fetch; signal?: AbortSignal; }> | undefined) => Effect.Effect; export declare const readInstalledCloudCredential: (input: { agent: CloudAgent; origin: string; configPath: string; home: string; }) => Effect.Effect;