import { type ManagedToolMetadata } from "./state.js"; import { type SetupCommandResult } from "../setup/commands.js"; type TavilyCommandDependencies = { primusHome: string; environment: NodeJS.ProcessEnv; runCommand: (spec: { command: string; args: string[]; cwd?: string; env?: NodeJS.ProcessEnv; }) => Promise; pathExists?: (path: string) => boolean; readFile?: (path: string) => string; writeFile?: (path: string, contents: string) => void; ensureDirectory?: (path: string) => void; platform?: NodeJS.Platform; now?: () => string; }; export type EnsureManagedTavilyInstalledOptions = TavilyCommandDependencies & { workspaceDir: string; }; export type EnsureManagedTavilyInstalledResult = { command: string; installedDuringRun: boolean; }; export type VerifyTavilyAuthOptions = TavilyCommandDependencies & { command: string; workspaceDir?: string; }; export type VerifyTavilyAuthResult = { ok: boolean; detail: string; result: SetupCommandResult; }; export declare function getTavilyApiKey(environment: NodeJS.ProcessEnv): string | undefined; export declare function ensureManagedTavilyInstalled(options: EnsureManagedTavilyInstalledOptions): Promise; export declare function loginTavilyWithApiKey(apiKey: string, options: VerifyTavilyAuthOptions): Promise; export declare function verifyTavilyAuthentication(options: VerifyTavilyAuthOptions): Promise; export declare function resolveManagedTavilyExecutable(installStrategy: string | undefined, options: TavilyCommandDependencies): Promise; export {};