import { Context, Effect, Layer } from 'effect';
import { ObservabilityService } from '../observability/service';
import type { EvalEnvironmentMetadata, EvalRoutingArtifact, EvaluationArtifact } from './artifact';
import { TraceStorageService } from './storage';
declare const EvaluationRunNotFoundError_base: new = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
readonly _tag: "EvaluationRunNotFoundError";
} & Readonly;
export declare class EvaluationRunNotFoundError extends EvaluationRunNotFoundError_base<{
runId: string;
}> {
}
declare const EvaluationTraceNotFoundError_base: new = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
readonly _tag: "EvaluationTraceNotFoundError";
} & Readonly;
export declare class EvaluationTraceNotFoundError extends EvaluationTraceNotFoundError_base<{
traceId: string;
}> {
}
export interface EvaluationRecordOptions {
message?: string;
response?: {
content: string;
output?: unknown;
role?: string;
metadata?: Record;
};
routing?: EvalRoutingArtifact;
environment?: Partial;
}
export interface EvaluationServiceApi {
record: (runId: string, options?: EvaluationRecordOptions) => Effect.Effect;
load: (traceId: string) => Effect.Effect;
list: () => Effect.Effect, Error>;
}
declare const EvaluationService_base: Context.TagClass;
export declare class EvaluationService extends EvaluationService_base {
}
export declare const EvaluationServiceLive: Layer.Layer;
export {};
//# sourceMappingURL=service.d.ts.map