import type { Provider, ProviderAuthOptions, ProviderCreateAgentOptions, ProviderDeleteAgentOptions, ProviderCapabilities, ProviderExecutionResult, ProviderInvokeOptions, ProviderKind } from "./types.js"; export interface BaseProviderConfig { id: string; displayName: string; kind: ProviderKind; capabilities: ProviderCapabilities; } export declare abstract class BaseProvider implements Provider { readonly id: string; readonly displayName: string; readonly kind: ProviderKind; readonly capabilities: ProviderCapabilities; protected constructor(config: BaseProviderConfig); protected validateInvokeOptions(options: ProviderInvokeOptions): void; protected requireEnvValue(env: NodeJS.ProcessEnv, name: string): string; abstract invoke(options: ProviderInvokeOptions): Promise; invokeAuth(_options?: ProviderAuthOptions): Promise; createAgent(_options: ProviderCreateAgentOptions): Promise; deleteAgent(_options: ProviderDeleteAgentOptions): Promise; }