import type { ModelConfig } from '@n8n/agents';
import { type AgentBuilderAdminSettingsResponse, type AgentBuilderAdminSettingsUpdateRequest } from '@n8n/api-types';
import { Logger } from '@n8n/backend-common';
import { OutboundHttp } from '@n8n/backend-network';
import type { User } from '@n8n/db';
import { SettingsRepository } from '@n8n/db';
import { CredentialsFinderService } from '../../../credentials/credentials-finder.service';
import { CredentialsService } from '../../../credentials/credentials.service';
import { AiService } from '../../../services/ai.service';
interface BuilderTelemetryProxyConfig {
    apiUrl: string;
    getAuthHeaders: () => Promise<Record<string, string>>;
}
interface ResolvedBuilderModelConfig {
    config: ModelConfig;
    isProxied: boolean;
    tracingProxyConfig?: BuilderTelemetryProxyConfig;
}
export declare class AgentsBuilderSettingsService {
    private readonly logger;
    private readonly settingsRepository;
    private readonly aiService;
    private readonly credentialsService;
    private readonly credentialsFinderService;
    private readonly outboundHttp;
    private cached;
    constructor(logger: Logger, settingsRepository: SettingsRepository, aiService: AiService, credentialsService: CredentialsService, credentialsFinderService: CredentialsFinderService, outboundHttp: OutboundHttp);
    private loadSettings;
    private persist;
    getAdminSettings(): Promise<AgentBuilderAdminSettingsResponse>;
    updateAdminSettings(payload: AgentBuilderAdminSettingsUpdateRequest): Promise<void>;
    resolveModelConfig(user: User): Promise<ResolvedBuilderModelConfig>;
    private tryResolveCustomCredential;
    private resolveProxyModel;
}
export {};
