using System;
using System.Collections.Generic;
using System.Net.Security;
using System.Threading;
using System.Threading.Tasks;
using Npgsql.Internal;
namespace Npgsql;
sealed record NpgsqlDataSourceConfiguration(string? Name,
NpgsqlLoggingConfiguration LoggingConfiguration,
NpgsqlTracingOptions TracingOptions,
NpgsqlTypeLoadingOptions TypeLoading,
TransportSecurityHandler TransportSecurityHandler,
IntegratedSecurityHandler IntegratedSecurityHandler,
Action? SslClientAuthenticationOptionsCallback,
Func? PasswordProvider,
Func>? PasswordProviderAsync,
Func>? PeriodicPasswordProvider,
TimeSpan PeriodicPasswordSuccessRefreshInterval,
TimeSpan PeriodicPasswordFailureRefreshInterval,
PgTypeInfoResolverChain ResolverChain,
IEnumerable DbTypeResolverFactories,
INpgsqlNameTranslator DefaultNameTranslator,
Action? ConnectionInitializer,
Func? ConnectionInitializerAsync,
Action? NegotiateOptionsCallback);