import { TraceloopClient } from "../traceloop-client"; import type { ExperimentTaskFunction, ExperimentRunOptions, ExperimentRunResult, InitExperimentRequest, ExperimentInitResponse, CreateTaskResponse, RunInGithubOptions, RunInGithubResponse } from "../../interfaces/experiment.interface"; export declare class Experiment { private client; private evaluator; private datasets; private _lastExperimentSlug?; private _lastRunId?; constructor(client: TraceloopClient); /** * Generate a unique experiment slug */ private generateExperimentSlug; private handleResponse; /** * Run an experiment with the given task function and options */ run(task: ExperimentTaskFunction, options?: ExperimentRunOptions | RunInGithubOptions): Promise; /** * Run an experiment locally (not in GitHub Actions) */ private runLocally; /** * Create a task for the experiment */ createTask(experimentSlug: string, experimentRunId: string, taskInput: Record, taskOutput: Record): Promise; /** * Initialize a new experiment */ initializeExperiment(request: InitExperimentRequest): Promise; /** * Parse JSONL string into list of {col_name: col_value} dictionaries * Skips the first line (columns definition) */ private parseJsonlToRows; /** * Get dataset rows for experiment execution */ private getDatasetRows; /** * Validate experiment run options */ private validateRunOptions; /** * Extract GitHub Actions context from environment variables */ private getGithubContext; /** * Filter evaluators that have required input fields for synonym normalization. */ private getEvaluatorsForFieldsValidation; /** * Execute tasks locally and capture results. */ private executeTasksLocally; /** * Run an experiment in GitHub Actions environment * This method executes tasks locally and submits results to the backend for evaluation */ runInGithub(task: ExperimentTaskFunction, options: RunInGithubOptions): Promise; /** * Resolve export parameters by falling back to last used values */ private resolveExportParams; /** * Export experiment results as CSV string * @param experimentSlug - Optional experiment slug (uses last run if not provided) * @param runId - Optional run ID (uses last run if not provided) * @returns CSV string of experiment results */ toCsvString(experimentSlug?: string, runId?: string): Promise; /** * Export experiment results as JSON string * @param experimentSlug - Optional experiment slug (uses last run if not provided) * @param runId - Optional run ID (uses last run if not provided) * @returns JSON string of experiment results */ toJsonString(experimentSlug?: string, runId?: string): Promise; } //# sourceMappingURL=experiment.d.ts.map