import { BaseClient } from '../base-client'; import type { ScorerConfig } from '../../types/scorer.types'; import type { TaskType } from '../../types/job.types'; import type { ExperimentResponseType, PromptRunSettings, CreateJobResponse, ExperimentDatasetRequest, ExperimentUpdateRequest, ExperimentMetricsRequest, ExperimentMetricsResponse, ExperimentsAvailableColumnsResponse, ListExperimentResponse } from '../../types/experiment.types'; export declare class ExperimentService extends BaseClient { private projectId; constructor(apiUrl: string, token: string, projectId: string); getExperiment(id: string): Promise; getExperiments(): Promise; createExperiment(name: string, dataset?: ExperimentDatasetRequest | null): Promise; createRunScorerSettings(experimentId: string, projectId: string, scorers: ScorerConfig[]): Promise; createPromptRunJob(experimentId: string, projectId: string, promptTemplateVersionId: string, datasetId: string, scorers?: ScorerConfig[], promptSettings?: PromptRunSettings, name?: string, taskType?: TaskType): Promise; /** * Updates an experiment. * @param id - The unique identifier of the experiment. * @param updateRequest - The experiment update request. * @returns A promise that resolves to the updated experiment. */ updateExperiment(id: string, updateRequest: ExperimentUpdateRequest): Promise; /** * Deletes an experiment. * @param id - The unique identifier of the experiment. * @returns A promise that resolves when the experiment is deleted. */ deleteExperiment(id: string): Promise; /** * Gets experiment metrics. * @param id - The unique identifier of the experiment. * @param metricsRequest - The experiment metrics request. * @returns A promise that resolves to the experiment metrics response. */ getExperimentMetrics(id: string, projectId: string, metricsRequest: ExperimentMetricsRequest): Promise; /** * Gets paginated experiments. * @param options - The pagination options. * @param options.startingToken - (Optional) The starting token for pagination (default: 0). * @param options.limit - (Optional) The maximum number of records to return (default: 100). * @param options.includeCounts - (Optional) Whether to include counts (default: false). * @returns A promise that resolves to the paginated experiments response. */ getExperimentsPaginated(options?: { startingToken?: number; limit?: number; includeCounts?: boolean; }): Promise; /** * Gets available columns for experiments. * @returns A promise that resolves to the available columns response. */ getAvailableColumns(): Promise; }