using System; using System.Diagnostics.CodeAnalysis; using Npgsql.Internal.Postgres; namespace Npgsql.Internal; /// /// An Npgsql resolver for type info. Used by Npgsql to read and write values to PostgreSQL. /// [Experimental(NpgsqlDiagnostics.ConvertersExperimental)] public interface IPgTypeInfoResolver { /// /// Resolve a type info for a given type and data type name, at least one value will be non-null. /// /// The clr type being requested. /// The postgres type being requested. /// Used for configuration state and Npgsql type info or PostgreSQL type catalog lookups. /// A result, or null if there was no match. PgTypeInfo? GetTypeInfo(Type? type, DataTypeName? dataTypeName, PgSerializerOptions options); }