import type { BatchCreateMetricsArgs, ListMetricsArgs, ListMetricsResponse, GetMetricAggregateArgs, GetMetricAggregateResponse, GetMetricBreakdownArgs, GetMetricBreakdownResponse, GetMetricTimeSeriesArgs, GetMetricTimeSeriesResponse, GetMetricPercentilesArgs, GetMetricPercentilesResponse, GetMetricNamesArgs, GetMetricNamesResponse, GetMetricLabelKeysArgs, GetMetricLabelKeysResponse, GetMetricLabelValuesArgs, GetMetricLabelValuesResponse } from '@mastra/core/storage';
import type { DuckDBConnection } from '../../db/index.js';
/** Insert multiple metric events in a single statement. */
export declare function batchCreateMetrics(db: DuckDBConnection, args: BatchCreateMetricsArgs): Promise<void>;
/** Query metric events with filtering, ordering, and pagination. */
export declare function listMetrics(db: DuckDBConnection, args: ListMetricsArgs): Promise<ListMetricsResponse>;
/** Compute an aggregate value (sum, avg, min, max, etc.) for a metric, with optional period comparison. */
export declare function getMetricAggregate(db: DuckDBConnection, args: GetMetricAggregateArgs): Promise<GetMetricAggregateResponse>;
/** Aggregate a metric grouped by one or more dimensions. */
export declare function getMetricBreakdown(db: DuckDBConnection, args: GetMetricBreakdownArgs): Promise<GetMetricBreakdownResponse>;
/** Aggregate a metric into time-bucketed series, with optional group-by dimensions. */
export declare function getMetricTimeSeries(db: DuckDBConnection, args: GetMetricTimeSeriesArgs): Promise<GetMetricTimeSeriesResponse>;
/** Compute percentile time series for a metric using `percentile_cont`. */
export declare function getMetricPercentiles(db: DuckDBConnection, args: GetMetricPercentilesArgs): Promise<GetMetricPercentilesResponse>;
/** Return distinct metric names, optionally filtered by prefix. */
export declare function getMetricNames(db: DuckDBConnection, args: GetMetricNamesArgs): Promise<GetMetricNamesResponse>;
/** Return distinct label keys for a given metric name. */
export declare function getMetricLabelKeys(db: DuckDBConnection, args: GetMetricLabelKeysArgs): Promise<GetMetricLabelKeysResponse>;
/** Return distinct values for a specific label key on a metric. */
export declare function getMetricLabelValues(db: DuckDBConnection, args: GetMetricLabelValuesArgs): Promise<GetMetricLabelValuesResponse>;
//# sourceMappingURL=metrics.d.ts.map