import type { CreateFeedbackRequest, Feedback, FeedbackSentiment, OpenGeniClient } from "@opengeni/sdk"; import { type OpenGeniText } from "./messages/runtime.js"; export type FeedbackClient = Pick; /** One shared read per session, with recovery after a transient network failure. */ export declare function loadSessionFeedback(client: Pick, workspaceId: string, sessionId: string, onLoaded: (result: Awaited>) => void): () => void; /** The first saved rating per turn (the list is newest-first). */ export declare function turnRatingsFromFeedback(feedback: readonly Feedback[]): Record; export type FeedbackPayload = Omit; /** * The request to send, reusing the previous idempotency key when the user * retries the identical submission (a lost response must not duplicate it). */ export declare function feedbackSubmission(payload: FeedbackPayload, previous: CreateFeedbackRequest | null, newKey: () => string): CreateFeedbackRequest; export declare function feedbackDialogCopy(t: OpenGeniText, target: { sessionId?: string | undefined; turnId?: string | undefined; }): { title: string; description: string; }; export declare function feedbackSentimentLabel(t: OpenGeniText, sentiment: FeedbackSentiment): string;