import { BaseProvider, type BaseProviderConfig } from "./base-provider.js"; import type { ProviderAuthOptions, ProviderCreateAgentOptions, ProviderDeleteAgentOptions, ProviderExecutionResult, ProviderInvocation, ProviderInvokeOptions } from "./types.js"; export interface BaseCliProviderConfig extends BaseProviderConfig { command: string; commandEnvVar: string; } export declare abstract class BaseCliProvider extends BaseProvider { private readonly command; private readonly commandEnvVar; protected constructor(config: BaseCliProviderConfig); protected resolveCommand(env: NodeJS.ProcessEnv): string; protected abstract buildInvocationArgs(options: ProviderInvokeOptions, command: string): string[]; protected buildAuthInvocationArgs(options: ProviderAuthOptions, _command: string): string[]; protected buildCreateAgentInvocationArgs(_options: ProviderCreateAgentOptions, _command: string): string[]; protected buildDeleteAgentInvocationArgs(_options: ProviderDeleteAgentOptions, _command: string): string[]; protected prepareExecutionEnv(env: NodeJS.ProcessEnv): NodeJS.ProcessEnv; buildInvocation(options: ProviderInvokeOptions, env?: NodeJS.ProcessEnv): ProviderInvocation; buildAuthInvocation(options?: ProviderAuthOptions, env?: NodeJS.ProcessEnv): ProviderInvocation; buildCreateAgentInvocation(options: ProviderCreateAgentOptions, env?: NodeJS.ProcessEnv): ProviderInvocation; buildDeleteAgentInvocation(options: ProviderDeleteAgentOptions, env?: NodeJS.ProcessEnv): ProviderInvocation; invoke(options: ProviderInvokeOptions): Promise; invokeAuth(options?: ProviderAuthOptions): Promise; createAgent(options: ProviderCreateAgentOptions): Promise; deleteAgent(options: ProviderDeleteAgentOptions): Promise; private mergeSystemPrompt; protected applyResolvedImagePaths(options: ProviderInvokeOptions, imagePaths: string[]): ProviderInvokeOptions; private prepareImageInvocationOptions; }