/** * TSDB destination emitters for log10x_backfill_metric. * * The MVP supports Datadog (api.datadoghq.com /api/v2/series) out of the * box because it needs only a public API key. Prometheus remote_write, * CloudWatch and Elastic are wired as stub destinations that * return a clear "not yet implemented" error at runtime — the caller * sees exactly which destinations work today without the tool silently * dropping the call. * * Destination selection is driven entirely by environment variables set * on the MCP server process, matching the Log10x convention of "no * secrets in tool input". The model never gets the API key. */ import type { MetricPoint } from './aggregator.js'; export type Destination = 'datadog' | 'prometheus' | 'cloudwatch' | 'elastic'; export interface EmitOptions { destination: Destination; metricName: string; /** Ms since epoch of the earliest point in the series — used for warning on backdated-ingestion limits. */ earliestTimestampMs?: number; /** Extra destination-specific configuration passed through. */ config?: Record; /** Tags to apply to every point (union with the per-point labels). */ staticTags?: Record; } export interface EmitResult { destination: Destination; pointsEmitted: number; bytesPosted: number; wallTimeMs: number; warnings: string[]; /** Best-effort URL to view the metric in the destination UI. Optional. */ viewUrl?: string; } /** * Emit a pre-aggregated series to the configured destination. * * Throws if the destination is not supported or if credentials are * missing. The backfill_metric tool catches and surfaces the error to * the user. */ export declare function emitSeries(points: MetricPoint[], options: EmitOptions): Promise;