import type { Transport } from './transport'; /** The observability-metrics window + bucket size (GET query params). */ export interface MetricsQuery { readonly from?: string; readonly to?: string; readonly granularity?: string; } /** * The observability runs filter. List/dict-valued params (`tags`) are * JSON-encoded into the query string; scalars are sent verbatim. Shared by * `listRuns` and the `exportRuns` download. */ export interface RunsQuery { readonly from?: string; readonly to?: string; readonly tags?: string[]; readonly status?: 'error' | 'success'; readonly minCost?: number; readonly maxCost?: number; readonly minTokens?: number; readonly maxTokens?: number; readonly minLatencyMs?: number; readonly maxLatencyMs?: number; readonly sort?: string; readonly dir?: 'asc' | 'desc'; readonly page?: number; readonly pageSize?: number; } export declare function observabilityClient(t: Transport): { getObservabilityMetrics: (params?: MetricsQuery, signal?: AbortSignal) => Promise<{ summary: { totalRuns: number; totalCost: number; totalTokens: number; averageLatencyMs: number; avgCostPerRun: number; avgTokensPerRun: number; timeToFirstTokenMs: number | null; }; timeSeries: { bucket: string | null; runs: number; cost: number; avgLatencyMs: number; totalTokens: number; }[]; byModel: { model: string; calls: number; cost: number; totalTokens: number; avgLatencyMs: number; }[]; granularity: "hour" | "day" | "week"; }>; listRuns: (params?: RunsQuery, signal?: AbortSignal) => Promise<{ items: { id: string; traceId: string; createdAt: string | null; tags: string[]; status: "error" | "success"; cost: number | null; latencyMs: number | null; totalTokens: number | null; inputPreview: unknown; outputPreview: unknown; }[]; page: number; nextPage: number | null; }>; getRunTrace: (traceId: string, signal?: AbortSignal) => Promise<{ traceId: string; timestamp: string | null; tags: string[]; totalCost: number | null; input: unknown; output: unknown; metadata: unknown; spans: { id: string; parentId: string | null; traceId: string | null; name: string | null; type: string | null; level: string | null; statusMessage: string | null; start: string | null; end: string | null; model: string | null; usage: unknown; metadata: unknown; input: unknown; output: unknown; nodeId: string | null; }[]; }>; exportTrace: (traceId: string, signal?: AbortSignal) => Promise; exportRuns: (params: RunsQuery & { format: "csv" | "json"; }, signal?: AbortSignal) => Promise; }; //# sourceMappingURL=observability-client.d.ts.map