import { LLMRequestLogFeedback, LLMRequestLogFeedbackResponse, SearchFeedbackParams, SearchFeedbackResponse, LLMRequestLogFeedbackDetail } from '../types.js'; import { CollectionMethod } from '../utils/collector.js'; import { BaseService, BaseServiceConfig } from './BaseService.js'; interface FeedbackServiceConfig extends BaseServiceConfig { } declare class FeedbackService extends BaseService { constructor(config: FeedbackServiceConfig); private normalizeSentiment; createFeedback(feedback: LLMRequestLogFeedback, collectionMethod?: CollectionMethod): Promise; /** * Search feedback records. Requires the client's **private** API key — the public key used * by `createFeedback` will 401 here. * * @param params Raw Ransack predicates (e.g. `sentiment_eq`, `explanation_cont`) plus `s` * (sort) and `page`/`per` (pagination). Wrapped as `q[]` query params on the wire. * @returns The `:summary` view of matching feedback records plus pagination metadata. * @throws Error on network failure or a non-JSON body. A non-2xx response throws an error * whose `status` property holds the HTTP status code. */ searchFeedback(params?: SearchFeedbackParams): Promise; /** * Get a single feedback record by ID. Requires the client's **private** API key, same as * {@link searchFeedback}. * * @param id The feedback record ID. * @returns The `:with_partials` view: the full record, including `original_output`/ * `revised_output`/`feedback_partials`. * @throws Error if `id` is blank/whitespace-only or a bare dot-segment (`.`/`..`) — either would * otherwise silently resolve away to the `index` route or beyond, returning * `{ feedback: [...], pagination: {...} }` typed as a single record. Error on network failure * or a non-JSON body. A non-2xx response throws an error whose `status` property holds the * HTTP status code (e.g. 404 for an unknown ID). */ getFeedback(id: string): Promise; private logFeedbackInfo; } export { FeedbackService, type FeedbackServiceConfig };