import type { AgentRuntimeKind, OpenAIProtocol, ProviderConfig, ProviderCreateInput, ProviderScope, ProviderUpdateInput } from './types';
export declare class ProviderService {
    private store;
    constructor(filePath: string);
    list(scope?: ProviderScope): ProviderConfig[];
    get(id: string, scope?: ProviderScope): ProviderConfig | undefined;
    getRaw(id: string, scope?: ProviderScope): ProviderConfig | undefined;
    private static VALID_TYPES;
    create(input: ProviderCreateInput, scope?: ProviderScope): ProviderConfig;
    update(id: string, input: ProviderUpdateInput, scope?: ProviderScope): ProviderConfig;
    delete(id: string, scope?: ProviderScope): void;
    rotateSecret(id: string, scope?: ProviderScope): number;
    activate(id: string, scope?: ProviderScope): void;
    deactivateAll(scope?: ProviderScope): void;
    switchAgentRuntime(id: string, runtime: AgentRuntimeKind, scope?: ProviderScope): ProviderConfig;
    getEffectiveEnv(scope?: ProviderScope): Record<string, string> | null;
    getEnvForProvider(id: string, scope?: ProviderScope): Record<string, string> | null;
    getRawEffectiveProvider(scope?: ProviderScope): ProviderConfig | undefined;
    getRawProvider(id: string, scope?: ProviderScope): ProviderConfig | undefined;
    resolveAgentRuntime(provider?: ProviderConfig | null): AgentRuntimeKind;
    supportsAgentRuntime(provider: Pick<ProviderConfig, 'type'>, runtime: AgentRuntimeKind): boolean;
    private assertRuntimeSupported;
    resolveOpenAIProtocol(provider?: ProviderConfig | null): OpenAIProtocol;
    private getClaudeBaseUrl;
    private applyClaudeAuth;
    private getOpenAIBaseUrl;
    private getOpenAIApiKey;
    private applyOpenAIConnection;
    private toEnvVars;
}
//# sourceMappingURL=providerService.d.ts.map