import type { FromSchema } from 'json-schema-to-ts';
export declare const impactMetricsSchema: {
    readonly $id: "#/components/schemas/impactMetricsSchema";
    readonly type: "object";
    readonly description: "Used for reporting impact metrics from SDKs";
    readonly oneOf: readonly [{
        readonly required: readonly ["name", "help", "type", "samples"];
        readonly properties: {
            readonly name: {
                readonly type: "string";
                readonly description: "Name of the impact metric";
                readonly example: "my-counter";
            };
            readonly help: {
                readonly description: "Human-readable description of what the metric measures";
                readonly type: "string";
                readonly example: "Counts the number of operations";
            };
            readonly type: {
                readonly description: "Type of the metric";
                readonly type: "string";
                readonly enum: readonly ["counter", "gauge"];
                readonly example: "counter";
            };
            readonly samples: {
                readonly description: "Samples of the numeric metric";
                readonly type: "array";
                readonly items: {
                    readonly type: "object";
                    readonly required: readonly ["value"];
                    readonly description: "A sample of a numeric metric with a value and optional labels";
                    readonly properties: {
                        readonly value: {
                            readonly type: "number";
                            readonly description: "The value of the metric sample";
                            readonly example: 10;
                        };
                        readonly labels: {
                            readonly description: "Optional labels for the metric sample";
                            readonly type: "object";
                            readonly additionalProperties: {
                                readonly oneOf: readonly [{
                                    readonly type: "string";
                                }, {
                                    readonly type: "number";
                                }];
                            };
                            readonly example: {
                                readonly application: "my-app";
                                readonly environment: "production";
                            };
                        };
                    };
                };
            };
        };
    }, {
        readonly required: readonly ["name", "help", "type", "samples"];
        readonly properties: {
            readonly name: {
                readonly type: "string";
                readonly description: "Name of the impact metric";
                readonly example: "my-histogram";
            };
            readonly help: {
                readonly description: "Human-readable description of what the metric measures";
                readonly type: "string";
                readonly example: "Measures request duration";
            };
            readonly type: {
                readonly description: "Type of the metric";
                readonly type: "string";
                readonly enum: readonly ["histogram"];
                readonly example: "histogram";
            };
            readonly samples: {
                readonly description: "Samples of the histogram metric";
                readonly type: "array";
                readonly items: {
                    readonly type: "object";
                    readonly required: readonly ["count", "sum", "buckets"];
                    readonly description: "A sample of a histogram metric with count, sum, buckets and optional labels";
                    readonly properties: {
                        readonly count: {
                            readonly type: "number";
                            readonly description: "Total count of observations";
                            readonly example: 100;
                        };
                        readonly sum: {
                            readonly type: "number";
                            readonly description: "Sum of all observed values";
                            readonly example: 1500;
                        };
                        readonly buckets: {
                            readonly type: "array";
                            readonly description: "Histogram buckets";
                            readonly items: {
                                readonly type: "object";
                                readonly required: readonly ["le", "count"];
                                readonly properties: {
                                    readonly le: {
                                        readonly oneOf: readonly [{
                                            readonly type: "number";
                                        }, {
                                            readonly type: "string";
                                            readonly enum: readonly ["+Inf"];
                                        }];
                                        readonly description: "Upper bound of the bucket";
                                        readonly example: 0.5;
                                    };
                                    readonly count: {
                                        readonly type: "number";
                                        readonly description: "Count of observations in this bucket";
                                        readonly example: 30;
                                    };
                                };
                            };
                        };
                        readonly labels: {
                            readonly description: "Optional labels for the metric sample";
                            readonly type: "object";
                            readonly additionalProperties: {
                                readonly oneOf: readonly [{
                                    readonly type: "string";
                                }, {
                                    readonly type: "number";
                                }];
                            };
                            readonly example: {
                                readonly application: "my-app";
                                readonly environment: "production";
                            };
                        };
                    };
                };
            };
        };
    }];
    readonly components: {
        readonly schemas: {};
    };
};
export type ImpactMetricsSchema = FromSchema<typeof impactMetricsSchema>;
//# sourceMappingURL=impact-metrics-schema.d.ts.map