import type { ResourceClientContext } from '../client/toruk-client'; import type { TorukApiResponse } from '../types/api-response'; import type { TorukSession, TorukSessionList, TorukSessionMessageList, TorukSessionDeleted, CreateSessionInput, ListSessionsInput, GetSessionInput, GetSessionMessagesInput, RenameSessionInput, DeleteSessionInput, TorukSessionBranches, TorukSessionBranchSwitched, TorukSessionMessagesTruncated, ListSessionBranchesInput, SwitchSessionBranchInput, TruncateSessionMessagesInput } from './sessions.types'; export declare function requireDeploymentId(perCall: string | undefined, clientDefault: string | undefined, context: string): string; import { unwrapCoreEnvelope } from '../client/core-envelope'; export { unwrapCoreEnvelope }; export declare class SessionsClient { private readonly ctx; /** Client-level default; each call may override it. */ private readonly defaultDeploymentId?; constructor(ctx: ResourceClientContext, /** Client-level default; each call may override it. */ defaultDeploymentId?: string | undefined); private basePath; private resolve; private requireSessionId; /** * Create a session for the current visitor. * POST /api/v1/deployments/:deploymentId/sessions */ create(input?: CreateSessionInput): Promise>; /** * List the calling visitor's sessions for this deployment. * GET /api/v1/deployments/:deploymentId/sessions */ list(input?: ListSessionsInput): Promise>; /** * Fetch one session. * GET /api/v1/deployments/:deploymentId/sessions/:sessionId */ get(input: GetSessionInput): Promise>; /** * Fetch a session's persisted messages, oldest first. * GET /api/v1/deployments/:deploymentId/sessions/:sessionId/messages */ getMessages(input: GetSessionMessagesInput): Promise>; /** * Rename a session. Core owns the stored title. * PATCH /api/v1/deployments/:deploymentId/sessions/:sessionId */ rename(input: RenameSessionInput): Promise>; /** * Delete a session. Core soft-deletes and returns the resulting state. * DELETE /api/v1/deployments/:deploymentId/sessions/:sessionId */ delete(input: DeleteSessionInput): Promise>; /** * List the conversation's message versions, one group per edited turn. * GET /api/v1/deployments/:deploymentId/sessions/:sessionId/branches */ listBranches(input: ListSessionBranchesInput): Promise>; /** * Make one version of an edited turn live, archiving the one that was. * POST /api/v1/deployments/:deploymentId/sessions/:sessionId/branches/switch */ switchBranch(input: SwitchSessionBranchInput): Promise>; /** * Fork the conversation at a message: it and everything after it become the previous version. * * This is the server half of editing a turn — send the replacement as an ordinary prediction * afterwards and the archived tail becomes the version the pager can page back to. * DELETE /api/v1/deployments/:deploymentId/sessions/:sessionId/messages/:messageId */ truncateMessages(input: TruncateSessionMessagesInput): Promise>; }