import { ObservabilityStorage } from '@mastra/core/storage';
import type { CreateSpanArgs, GetSpanArgs, GetSpanResponse, GetSpansArgs, GetSpansResponse, GetRootSpanArgs, GetRootSpanResponse, GetTraceArgs, GetTraceResponse, GetTraceLightResponse, ListBranchesArgs, ListBranchesResponse, ListTracesArgs, ListTracesLightResponse, ListTracesResponse, BatchCreateSpansArgs, BatchDeleteTracesArgs, BatchCreateLogsArgs, ListLogsArgs, ListLogsResponse, BatchCreateMetricsArgs, ListMetricsArgs, ListMetricsResponse, CreateScoreArgs, BatchCreateScoresArgs, ListScoresArgs, ListScoresResponse, ScoreRecord, GetScoreAggregateArgs, GetScoreAggregateResponse, GetScoreBreakdownArgs, GetScoreBreakdownResponse, GetScoreTimeSeriesArgs, GetScoreTimeSeriesResponse, GetScorePercentilesArgs, GetScorePercentilesResponse, CreateFeedbackArgs, BatchCreateFeedbackArgs, ListFeedbackArgs, ListFeedbackResponse, GetFeedbackAggregateArgs, GetFeedbackAggregateResponse, GetFeedbackBreakdownArgs, GetFeedbackBreakdownResponse, GetFeedbackTimeSeriesArgs, GetFeedbackTimeSeriesResponse, GetFeedbackPercentilesArgs, GetFeedbackPercentilesResponse, GetMetricAggregateArgs, GetMetricAggregateResponse, GetMetricBreakdownArgs, GetMetricBreakdownResponse, GetMetricTimeSeriesArgs, GetMetricTimeSeriesResponse, GetMetricPercentilesArgs, GetMetricPercentilesResponse, GetMetricNamesArgs, GetMetricNamesResponse, GetMetricLabelKeysArgs, GetMetricLabelKeysResponse, GetMetricLabelValuesArgs, GetMetricLabelValuesResponse, GetEntityTypesArgs, GetEntityTypesResponse, GetEntityNamesArgs, GetEntityNamesResponse, GetServiceNamesArgs, GetServiceNamesResponse, GetEnvironmentsArgs, GetEnvironmentsResponse, GetTagsArgs, GetTagsResponse, ObservabilityStorageStrategy } from '@mastra/core/storage';
import type { DuckDBConnection } from '../../db/index.js';
/** Configuration for the DuckDB observability storage domain. */
export interface ObservabilityDuckDBConfig {
    /** Shared DuckDB instance to use for all observability queries. */
    db: DuckDBConnection;
}
/**
 * DuckDB-backed observability storage for traces, metrics, logs, scores, and feedback.
 * Uses an append-only event-sourced model with SQL-based reconstruction for spans.
 */
export declare class ObservabilityStorageDuckDB extends ObservabilityStorage {
    private db;
    constructor(config: ObservabilityDuckDBConfig);
    /** Create all observability tables if they don't exist. */
    init(): Promise<void>;
    /**
     * Manually migrate legacy signal tables to the signal-ID primary-key schema.
     * The public method name is historical; the CLI still calls `migrateSpans()`
     * for observability migrations even though this now also migrates signal tables.
     */
    migrateSpans(): Promise<{
        success: boolean;
        alreadyMigrated: boolean;
        duplicatesRemoved: number;
        message: string;
    }>;
    /** Delete all rows from every observability table. Use with caution. */
    dangerouslyClearAll(): Promise<void>;
    get observabilityStrategy(): {
        preferred: ObservabilityStorageStrategy;
        supported: ObservabilityStorageStrategy[];
    };
    getFeatures(): readonly ["delta-polling"] | undefined;
    createSpan(args: CreateSpanArgs): Promise<void>;
    batchCreateSpans(args: BatchCreateSpansArgs): Promise<void>;
    batchDeleteTraces(args: BatchDeleteTracesArgs): Promise<void>;
    getSpan(args: GetSpanArgs): Promise<GetSpanResponse | null>;
    getSpans(args: GetSpansArgs): Promise<GetSpansResponse>;
    getRootSpan(args: GetRootSpanArgs): Promise<GetRootSpanResponse | null>;
    getTrace(args: GetTraceArgs): Promise<GetTraceResponse | null>;
    getTraceLight(args: GetTraceArgs): Promise<GetTraceLightResponse | null>;
    listTraces(args: ListTracesArgs): Promise<ListTracesResponse>;
    listTracesLight(args: ListTracesArgs): Promise<ListTracesLightResponse>;
    listBranches(args: ListBranchesArgs): Promise<ListBranchesResponse>;
    batchCreateLogs(args: BatchCreateLogsArgs): Promise<void>;
    listLogs(args: ListLogsArgs): Promise<ListLogsResponse>;
    batchCreateMetrics(args: BatchCreateMetricsArgs): Promise<void>;
    listMetrics(args: ListMetricsArgs): Promise<ListMetricsResponse>;
    getMetricAggregate(args: GetMetricAggregateArgs): Promise<GetMetricAggregateResponse>;
    getMetricBreakdown(args: GetMetricBreakdownArgs): Promise<GetMetricBreakdownResponse>;
    getMetricTimeSeries(args: GetMetricTimeSeriesArgs): Promise<GetMetricTimeSeriesResponse>;
    getMetricPercentiles(args: GetMetricPercentilesArgs): Promise<GetMetricPercentilesResponse>;
    getMetricNames(args: GetMetricNamesArgs): Promise<GetMetricNamesResponse>;
    getMetricLabelKeys(args: GetMetricLabelKeysArgs): Promise<GetMetricLabelKeysResponse>;
    getMetricLabelValues(args: GetMetricLabelValuesArgs): Promise<GetMetricLabelValuesResponse>;
    getEntityTypes(args: GetEntityTypesArgs): Promise<GetEntityTypesResponse>;
    getEntityNames(args: GetEntityNamesArgs): Promise<GetEntityNamesResponse>;
    getServiceNames(args: GetServiceNamesArgs): Promise<GetServiceNamesResponse>;
    getEnvironments(args: GetEnvironmentsArgs): Promise<GetEnvironmentsResponse>;
    getTags(args: GetTagsArgs): Promise<GetTagsResponse>;
    createScore(args: CreateScoreArgs): Promise<void>;
    batchCreateScores(args: BatchCreateScoresArgs): Promise<void>;
    listScores(args: ListScoresArgs): Promise<ListScoresResponse>;
    getScoreById(scoreId: string): Promise<ScoreRecord | null>;
    getScoreAggregate(args: GetScoreAggregateArgs): Promise<GetScoreAggregateResponse>;
    getScoreBreakdown(args: GetScoreBreakdownArgs): Promise<GetScoreBreakdownResponse>;
    getScoreTimeSeries(args: GetScoreTimeSeriesArgs): Promise<GetScoreTimeSeriesResponse>;
    getScorePercentiles(args: GetScorePercentilesArgs): Promise<GetScorePercentilesResponse>;
    createFeedback(args: CreateFeedbackArgs): Promise<void>;
    batchCreateFeedback(args: BatchCreateFeedbackArgs): Promise<void>;
    listFeedback(args: ListFeedbackArgs): Promise<ListFeedbackResponse>;
    getFeedbackAggregate(args: GetFeedbackAggregateArgs): Promise<GetFeedbackAggregateResponse>;
    getFeedbackBreakdown(args: GetFeedbackBreakdownArgs): Promise<GetFeedbackBreakdownResponse>;
    getFeedbackTimeSeries(args: GetFeedbackTimeSeriesArgs): Promise<GetFeedbackTimeSeriesResponse>;
    getFeedbackPercentiles(args: GetFeedbackPercentilesArgs): Promise<GetFeedbackPercentilesResponse>;
}
//# sourceMappingURL=index.d.ts.map