// Generated by tsbindgen - Architecture // Namespace: Microsoft.Extensions.Diagnostics.Metrics // Assembly: Microsoft.Extensions.Diagnostics, Microsoft.Extensions.Diagnostics.Abstractions // Core type aliases from @tsonic/core import type { fnptr, ptr, sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/core/types.js'; // Import types from other namespaces import type { IConfiguration } from "../../Microsoft.Extensions.Configuration/internal/index.js"; import type { IServiceCollection } from "../../Microsoft.Extensions.DependencyInjection/internal/index.js"; import type { IList_1 } from "@tsonic/dotnet/System.Collections.Generic/internal/index.js"; import type { Instrument, MeasurementCallback_1 } from "@tsonic/dotnet/System.Diagnostics.Metrics/internal/index.js"; import * as System_Internal from "@tsonic/dotnet/System/internal/index.js"; import type { Boolean as ClrBoolean, Byte, Decimal, Double, Enum, IComparable, IConvertible, IFormattable, Int16, Int32, Int64, ISpanFormattable, Object as ClrObject, Single, String as ClrString, Void } from "@tsonic/dotnet/System/internal/index.js"; export enum MeterScope { None = 0, Global = 1, Local = 2 } export interface IMetricsBuilder$instance { readonly __tsonic_iface_Microsoft_Extensions_Diagnostics_Metrics_IMetricsBuilder: never; readonly Services: IServiceCollection; } export type IMetricsBuilder = IMetricsBuilder$instance; export interface IMetricsListener$instance { readonly __tsonic_iface_Microsoft_Extensions_Diagnostics_Metrics_IMetricsListener: never; readonly Name: string; GetMeasurementHandlers(): MeasurementHandlers; Initialize(source: IObservableInstrumentsSource): void; InstrumentPublished(instrument: Instrument, userState: unknown | null): boolean; MeasurementsCompleted(instrument: Instrument, userState: unknown | null): void; } export type IMetricsListener = IMetricsListener$instance; export interface IObservableInstrumentsSource$instance { readonly __tsonic_iface_Microsoft_Extensions_Diagnostics_Metrics_IObservableInstrumentsSource: never; RecordObservableInstruments(): void; } export type IObservableInstrumentsSource = IObservableInstrumentsSource$instance; export interface InstrumentRule$instance { readonly __tsonic_type_Microsoft_Extensions_Diagnostics_Metrics_InstrumentRule: never; readonly Enable: boolean; readonly InstrumentName: string | null; readonly ListenerName: string | null; readonly MeterName: string | null; readonly Scopes: MeterScope; } export const InstrumentRule: { new(meterName: string | null, instrumentName: string | null, listenerName: string | null, scopes: MeterScope, enable: boolean): InstrumentRule; }; export type InstrumentRule = InstrumentRule$instance; export interface MeasurementHandlers$instance { readonly __tsonic_type_Microsoft_Extensions_Diagnostics_Metrics_MeasurementHandlers: never; get ByteHandler(): MeasurementCallback_1 | null; set ByteHandler(value: MeasurementCallback_1 | null); get DecimalHandler(): MeasurementCallback_1 | null; set DecimalHandler(value: MeasurementCallback_1 | null); get DoubleHandler(): MeasurementCallback_1 | null; set DoubleHandler(value: MeasurementCallback_1 | null); get FloatHandler(): MeasurementCallback_1 | null; set FloatHandler(value: MeasurementCallback_1 | null); get IntHandler(): MeasurementCallback_1 | null; set IntHandler(value: MeasurementCallback_1 | null); get LongHandler(): MeasurementCallback_1 | null; set LongHandler(value: MeasurementCallback_1 | null); get ShortHandler(): MeasurementCallback_1 | null; set ShortHandler(value: MeasurementCallback_1 | null); } export const MeasurementHandlers: { new(): MeasurementHandlers; }; export type MeasurementHandlers = MeasurementHandlers$instance; export interface MetricsOptions$instance { readonly __tsonic_type_Microsoft_Extensions_Diagnostics_Metrics_MetricsOptions: never; readonly Rules: IList_1; } export const MetricsOptions: { new(): MetricsOptions; }; export type MetricsOptions = MetricsOptions$instance; export abstract class ConsoleMetrics$instance { static readonly DebugListenerName: string; } export type ConsoleMetrics = ConsoleMetrics$instance; export abstract class MetricsBuilderConfigurationExtensions$instance { static AddConfiguration(builder: IMetricsBuilder, configuration: IConfiguration): IMetricsBuilder; } export type MetricsBuilderConfigurationExtensions = MetricsBuilderConfigurationExtensions$instance; export abstract class MetricsBuilderConsoleExtensions$instance { static AddDebugConsole(builder: IMetricsBuilder): IMetricsBuilder; } export type MetricsBuilderConsoleExtensions = MetricsBuilderConsoleExtensions$instance; export abstract class MetricsBuilderExtensions$instance { static AddListener(builder: IMetricsBuilder, listener: IMetricsListener): IMetricsBuilder; static AddListener(builder: IMetricsBuilder): IMetricsBuilder; static ClearListeners(builder: IMetricsBuilder): IMetricsBuilder; static DisableMetrics(builder: IMetricsBuilder, meterName: string | null, instrumentName?: string | null, listenerName?: string | null, scopes?: MeterScope): IMetricsBuilder; static DisableMetrics(builder: IMetricsBuilder, meterName: string | null): IMetricsBuilder; static DisableMetrics(options: MetricsOptions, meterName: string | null, instrumentName?: string | null, listenerName?: string | null, scopes?: MeterScope): MetricsOptions; static DisableMetrics(options: MetricsOptions, meterName: string | null): MetricsOptions; static EnableMetrics(builder: IMetricsBuilder, meterName: string | null, instrumentName?: string | null, listenerName?: string | null, scopes?: MeterScope): IMetricsBuilder; static EnableMetrics(builder: IMetricsBuilder, meterName: string | null): IMetricsBuilder; static EnableMetrics(options: MetricsOptions, meterName: string | null, instrumentName?: string | null, listenerName?: string | null, scopes?: MeterScope): MetricsOptions; static EnableMetrics(options: MetricsOptions, meterName: string | null): MetricsOptions; } export type MetricsBuilderExtensions = MetricsBuilderExtensions$instance;