import { ObservabilityStorage } from '@mastra/core/storage';
import type { ListTracesArgs, ListTracesResponse, TracingStorageStrategy, UpdateSpanArgs, BatchDeleteTracesArgs, BatchUpdateSpansArgs, BatchCreateSpansArgs, CreateSpanArgs, GetSpanArgs, GetSpanResponse, GetRootSpanArgs, GetRootSpanResponse, GetTraceArgs, GetTraceResponse, GetTraceLightResponse } from '@mastra/core/storage';
import type { LibSQLDomainConfig } from '../../db/index.js';
export declare class ObservabilityLibSQL extends ObservabilityStorage {
    #private;
    constructor(config: LibSQLDomainConfig);
    init(): Promise<void>;
    dangerouslyClearAll(): Promise<void>;
    /**
     * Manually run the spans migration to deduplicate and add the unique constraint.
     * This is intended to be called from the CLI when duplicates are detected.
     *
     * @returns Migration result with status and details
     */
    migrateSpans(): Promise<{
        success: boolean;
        alreadyMigrated: boolean;
        duplicatesRemoved: number;
        message: string;
    }>;
    /**
     * Check migration status for the spans table.
     * Returns information about whether migration is needed.
     */
    checkSpansMigrationStatus(): Promise<{
        needsMigration: boolean;
        hasDuplicates: boolean;
        duplicateCount: number;
        constraintExists: boolean;
        tableName: string;
    }>;
    get tracingStrategy(): {
        preferred: TracingStorageStrategy;
        supported: TracingStorageStrategy[];
    };
    createSpan(args: CreateSpanArgs): Promise<void>;
    getSpan(args: GetSpanArgs): Promise<GetSpanResponse | null>;
    getRootSpan(args: GetRootSpanArgs): Promise<GetRootSpanResponse | null>;
    getTrace(args: GetTraceArgs): Promise<GetTraceResponse | null>;
    getTraceLight(args: GetTraceArgs): Promise<GetTraceLightResponse | null>;
    updateSpan(args: UpdateSpanArgs): Promise<void>;
    listTraces(args: ListTracesArgs): Promise<ListTracesResponse>;
    batchCreateSpans(args: BatchCreateSpansArgs): Promise<void>;
    batchUpdateSpans(args: BatchUpdateSpansArgs): Promise<void>;
    batchDeleteTraces(args: BatchDeleteTracesArgs): Promise<void>;
}
//# sourceMappingURL=index.d.ts.map