import { BaseClient } from '../base-client'; import { Trace, ExtendedTraceRecordWithChildren, LogTraceUpdateRequest, LogTraceUpdateResponse, LogRecordsDeleteRequest, LogSpansIngestRequest, LogSpansIngestResponse, LogSpanUpdateRequest, LogSpanUpdateResponse, ExtendedSpanRecord, LogRecordsQueryCountRequest, LogRecordsQueryCountResponse, LogRecordsAvailableColumnsRequest, LogRecordsAvailableColumnsResponse, RecomputeLogRecordsMetricsRequest, LogRecordsDeleteResponse, ExtendedSessionRecordWithChildren, AggregatedTraceViewRequest, AggregatedTraceViewResponse, LogTracesIngestRequest, LogTracesIngestResponse } from '../../types/logging/trace.types'; import { SessionCreateRequest, SessionCreateResponse } from '../../types/logging/session.types'; import { LogRecordsMetricsQueryRequest, LogRecordsMetricsResponse } from '../../types/metrics.types'; import { LogRecordsQueryRequest, LogRecordsQueryResponse } from '../../types/shared.types'; export declare class TraceService extends BaseClient { private projectId; private logStreamId; private experimentId; private sessionId; constructor(apiUrl: string, token: string, projectId: string, logStreamId?: string, experimentId?: string, sessionId?: string); createSessionLegacy({ name, previousSessionId, externalId, metadata }: { name?: string; previousSessionId?: string; externalId?: string; metadata?: Record; }): Promise; createSession(options: SessionCreateRequest): Promise; ingestTracesLegacy(traces: Trace[]): Promise; /** * Ingests trace data for the current project (or a specific project when given). * * @param options - Trace ingest payload (traces, logstream/experiment, etc.). `sessionId` is defaulted from the service when omitted. * @param projectId - Optional project ID to ingest into; defaults to the service's current project. * @returns Promise resolving to the ingest response ({@link LogTracesIngestResponse}). * @throws {Error} If the service has no project initialized. */ ingestTraces(options: LogTracesIngestRequest, projectId?: string): Promise; searchSessions(options: LogRecordsQueryRequest): Promise; searchMetrics(options: LogRecordsMetricsQueryRequest): Promise; searchTraces(options: LogRecordsQueryRequest): Promise; searchSpans(options: LogRecordsQueryRequest): Promise; getSession(sessionId: string): Promise; getTrace(traceId: string): Promise; updateTrace(options: LogTraceUpdateRequest): Promise; deleteTraces(options: LogRecordsDeleteRequest): Promise; deleteSessions(options: LogRecordsDeleteRequest): Promise; ingestSpans(options: LogSpansIngestRequest): Promise; getSpan(spanId: string): Promise; updateSpan(options: LogSpanUpdateRequest): Promise; deleteSpans(options: LogRecordsDeleteRequest): Promise; countTraces(options: LogRecordsQueryCountRequest): Promise; countSessions(options: LogRecordsQueryCountRequest): Promise; countSpans(options: LogRecordsQueryCountRequest): Promise; getTracesAvailableColumns(options: LogRecordsAvailableColumnsRequest): Promise; getSessionsAvailableColumns(options: LogRecordsAvailableColumnsRequest): Promise; getSpansAvailableColumns(options: LogRecordsAvailableColumnsRequest): Promise; recomputeMetrics(options: RecomputeLogRecordsMetricsRequest): Promise; /** * Fills in missing experiment_id or log_stream_id from the service context * by mutating the request object in place. * * This method modifies the input request object directly to add the context * (experiment_id or log_stream_id) if it's missing. The mutation is intentional * for performance and convenience, but callers should be aware that the request * object will be modified and should not reuse it if they need the original state. * * @param options - The request object to modify (will be mutated in place). * Supports both LogRecordsQueryRequest and LogRecordsMetricsQueryRequest types. */ private fillRequestContext; getAggregatedTraceView(options: AggregatedTraceViewRequest): Promise; private validateLogstreamAndExperiment; private fillOptionsContext; }