import { TraceInfo } from '../core/entities/trace_info'; import { Trace } from '../core/entities/trace'; import { TraceData } from '../core/entities/trace_data'; import { AuthProvider } from '../auth'; /** * Client for MLflow tracing operations. * * Supports multiple authentication methods: * - Databricks: PAT tokens, OAuth M2M, Azure CLI/MSI, Google Cloud * - OSS MLflow: Basic auth, Bearer tokens, or no auth */ export declare class MlflowClient { /** Client implementation to upload/download trace data artifacts */ private artifactsClient; /** Headers provider for authenticated requests */ private headersProvider; /** Host URL for API requests */ private hostUrl; /** * Creates a new MlflowClient. * * @param trackingUri - The tracking URI (e.g., "databricks", "http://localhost:5000") * @param authProvider - The authentication provider to get tokens for authenticated requests */ constructor(options: { trackingUri: string; authProvider: AuthProvider; }); /** * Get the host URL for this client. */ getHost(): string; /** * Create a new TraceInfo record in the backend store. * Corresponding to the Python SDK's start_trace_v3() method. * * Note: the backend API is named as "Start" due to unfortunate miscommunication. * The API is indeed called at the "end" of a trace, not the "start". */ createTrace(traceInfo: TraceInfo): Promise; /** * Get a single trace by ID * Fetches both trace info and trace data from backend * Corresponds to Python: client.get_trace() */ getTrace(traceId: string): Promise; /** * Get trace info using V3 API * Endpoint: GET /api/3.0/mlflow/traces/{trace_id} */ getTraceInfo(traceId: string): Promise; /** * Upload trace data to the artifact store. */ uploadTraceData(traceInfo: TraceInfo, traceData: TraceData): Promise; /** * Create a new experiment */ createExperiment(name: string, artifactLocation?: string, tags?: Record): Promise; /** * Delete an experiment */ deleteExperiment(experimentId: string): Promise; }